Browse Source

金蝶更新

pull/297/head
yehongyang 3 years ago
parent
commit
c9fedc6248
5 changed files with 42 additions and 12 deletions
  1. +1
    -0
      dao/base/SalesOrder.dao.go
  2. +12
    -0
      dao/base/implments/SalesOrder.dao.impl.go
  3. +15
    -10
      services/ap/implments/Balance.service.impl.go
  4. +12
    -1
      services/ap/implments/CustDemandVerHead.service.impl.go
  5. +2
    -1
      services/erp/erp.go

+ 1
- 0
dao/base/SalesOrder.dao.go View File

@ -217,6 +217,7 @@ type SalesOrderDAO interface {
* *
******************************************************************************/ ******************************************************************************/
UpdateWhere([]grmi.Predicate, *model.SalesOrder, ...string) error UpdateWhere([]grmi.Predicate, *model.SalesOrder, ...string) error
SelectSumPlanQty(string, string, string) ([]map[string][]byte, error)
} }
/****************************************************************************** /******************************************************************************


+ 12
- 0
dao/base/implments/SalesOrder.dao.impl.go View File

@ -8,6 +8,7 @@ import (
"leit.com/LAPP_CHEERSSON_BACKEND/grmi" "leit.com/LAPP_CHEERSSON_BACKEND/grmi"
meta "leit.com/LAPP_CHEERSSON_BACKEND/meta/base" meta "leit.com/LAPP_CHEERSSON_BACKEND/meta/base"
model "leit.com/LAPP_CHEERSSON_BACKEND/models/base" model "leit.com/LAPP_CHEERSSON_BACKEND/models/base"
"leit.com/LAPP_CHEERSSON_BACKEND/utils"
"xorm.io/core" "xorm.io/core"
) )
@ -210,6 +211,17 @@ func (impl *SalesOrderDAOImplement) Select(predicates []grmi.Predicate, orderByF
} }
return data, nil return data, nil
} }
func (impl *SalesOrderDAOImplement) SelectSumPlanQty(artId string, yearWeek string, cust string) ([]map[string][]byte, error) {
sql := "SELECT sum(" + meta.SalesOrder_PlanQty.Name + ") " +
meta.SalesOrder_PlanQty.Name +
" FROM " + meta.SalesOrder.TableName +
" WHERE " + meta.SalesOrder_PlantNr.Name + "=" + utils.ValueToString(model.PlantNr, "") + "" +
" AND " + meta.SalesOrder_ArtId.Name + " = '" + artId + "' " +
" AND " + meta.SalesOrder_CtrlStr1.Name + " = '" + yearWeek + "' " +
" AND " + meta.SalesOrder_CustomerId.Name + " = '" + cust + "' "
session, err := impl.session.Query(sql)
return session, err
}
/****************************************************************************** /******************************************************************************
* *


+ 15
- 10
services/ap/implments/Balance.service.impl.go View File

@ -259,7 +259,7 @@ func (impl *BalanceServiceImplement) GetCustomerArticleDemand(user *global.User,
for index, info := range data { for index, info := range data {
var CustArtStockItem model.CustArtStockItem var CustArtStockItem model.CustArtStockItem
//净生产量 //净生产量
for i := 0; i < 10; i++ {
for i := 0; i < 11; i++ {
CustArtStockItem.ItemLst = append(CustArtStockItem.ItemLst, make(map[string]string)) CustArtStockItem.ItemLst = append(CustArtStockItem.ItemLst, make(map[string]string))
if i == 0 && index == 0 { if i == 0 && index == 0 {
@ -324,15 +324,18 @@ func (impl *BalanceServiceImplement) GetCustomerArticleDemand(user *global.User,
CustArtStockItem.ItemLst[i]["AP_ArticleDemand-Label"] = "AP_ArticleDemand-WipQty" CustArtStockItem.ItemLst[i]["AP_ArticleDemand-Label"] = "AP_ArticleDemand-WipQty"
CustArtStockItem.ItemLst[i][detail.DemandKey] = utils.FloatToString(detail.WipQty, 0) CustArtStockItem.ItemLst[i][detail.DemandKey] = utils.FloatToString(detail.WipQty, 0)
case 6: case 6:
CustArtStockItem.ItemLst[i]["AP_ArticleDemand-Label"] = "AP_ArticleDemand-ZaituQty"
CustArtStockItem.ItemLst[i][detail.DemandKey] = utils.FloatToString(detail.ZaituQty, 0)
case 7:
CustArtStockItem.ItemLst[i]["AP_ArticleDemand-Label"] = "AP_ArticleDemand-OpeningInventory" CustArtStockItem.ItemLst[i]["AP_ArticleDemand-Label"] = "AP_ArticleDemand-OpeningInventory"
CustArtStockItem.ItemLst[i][detail.DemandKey] = utils.FloatToString(detail.OpeningInventory, 0) CustArtStockItem.ItemLst[i][detail.DemandKey] = utils.FloatToString(detail.OpeningInventory, 0)
case 7:
case 8:
CustArtStockItem.ItemLst[i]["AP_ArticleDemand-Label"] = "AP_ArticleDemand-TargetInventory" CustArtStockItem.ItemLst[i]["AP_ArticleDemand-Label"] = "AP_ArticleDemand-TargetInventory"
CustArtStockItem.ItemLst[i][detail.DemandKey] = utils.FloatToString(detail.TargetInventory, 0) CustArtStockItem.ItemLst[i][detail.DemandKey] = utils.FloatToString(detail.TargetInventory, 0)
case 8:
case 9:
CustArtStockItem.ItemLst[i]["AP_ArticleDemand-Label"] = "AP_ArticleDemand-MinInventory" CustArtStockItem.ItemLst[i]["AP_ArticleDemand-Label"] = "AP_ArticleDemand-MinInventory"
CustArtStockItem.ItemLst[i][detail.DemandKey] = utils.FloatToString(detail.MinInventory, 0) CustArtStockItem.ItemLst[i][detail.DemandKey] = utils.FloatToString(detail.MinInventory, 0)
case 9:
case 10:
CustArtStockItem.ItemLst[i]["AP_ArticleDemand-Label"] = "AP_ArticleDemand-EndingInventory" CustArtStockItem.ItemLst[i]["AP_ArticleDemand-Label"] = "AP_ArticleDemand-EndingInventory"
CustArtStockItem.ItemLst[i][detail.DemandKey] = utils.FloatToString(detail.EndingInventory, 0) CustArtStockItem.ItemLst[i][detail.DemandKey] = utils.FloatToString(detail.EndingInventory, 0)
} }
@ -359,7 +362,6 @@ func (impl *BalanceServiceImplement) GetCustomerArticleDemand(user *global.User,
return &CustArtStockaLL, nil return &CustArtStockaLL, nil
} }
//刷新一条物料计划的显示
func (impl *BalanceServiceImplement) RefreshCustomerArticleDemand(user *global.User, ArtId string, mapList []map[string]string) ([]model.ArticleDemand, *model.CustArtStockItem, error) { func (impl *BalanceServiceImplement) RefreshCustomerArticleDemand(user *global.User, ArtId string, mapList []map[string]string) ([]model.ArticleDemand, *model.CustArtStockItem, error) {
engine := db.Eloquent.Master() engine := db.Eloquent.Master()
session := engine.NewSession() session := engine.NewSession()
@ -630,7 +632,6 @@ func (impl *BalanceServiceImplement) RefreshCustomerArticleDemand(user *global.U
return data_ArticleDemand_new, &CustArtStockaLL, err return data_ArticleDemand_new, &CustArtStockaLL, err
} }
//编辑后保存并刷新显示
func (impl *BalanceServiceImplement) SaveCustomerArticleDemand(user *global.User, CustomerId, ArtId string, mapList []map[string]string) (*model.MpsPlan, error) { func (impl *BalanceServiceImplement) SaveCustomerArticleDemand(user *global.User, CustomerId, ArtId string, mapList []map[string]string) (*model.MpsPlan, error) {
engine := db.Eloquent.Master() engine := db.Eloquent.Master()
session := engine.NewSession() session := engine.NewSession()
@ -707,7 +708,6 @@ func (impl *BalanceServiceImplement) SaveCustomerArticleDemand(user *global.User
return mpsPlan, err return mpsPlan, err
} }
//资源产能评估
func (impl *BalanceServiceImplement) GetResourceCapacityAndDemand(user *global.User, urlParameters map[string]string) (result []model.ResourceLoad, err error) { func (impl *BalanceServiceImplement) GetResourceCapacityAndDemand(user *global.User, urlParameters map[string]string) (result []model.ResourceLoad, err error) {
grmi.Log(user, "/services/ap/implments/BalanceService.service.impl.go", "GetResourceCapacityAndDemand", "查询GetResourceCapacityAndDemand") grmi.Log(user, "/services/ap/implments/BalanceService.service.impl.go", "GetResourceCapacityAndDemand", "查询GetResourceCapacityAndDemand")
@ -1065,7 +1065,6 @@ func (impl *BalanceServiceImplement) GetResourceCapacityAndDemand(user *global.U
return result, nil return result, nil
} }
//交期评估---列表
func (impl *BalanceServiceImplement) CustomerOrderReviewList(user *global.User, CustomerOrderReviewInfoLst []model.CustomerOrderReviewInfo) (result []model.CustomerOrderReviewInfo, err error) { func (impl *BalanceServiceImplement) CustomerOrderReviewList(user *global.User, CustomerOrderReviewInfoLst []model.CustomerOrderReviewInfo) (result []model.CustomerOrderReviewInfo, err error) {
grmi.Log(user, "/services/ap/implments/BalanceService.service.impl.go", "CustomerOrderReviewList", "CustomerOrderReviewList") grmi.Log(user, "/services/ap/implments/BalanceService.service.impl.go", "CustomerOrderReviewList", "CustomerOrderReviewList")
@ -1084,7 +1083,6 @@ func (impl *BalanceServiceImplement) CustomerOrderReviewList(user *global.User,
return result, err return result, err
} }
//交期评估---单条
func (impl *BalanceServiceImplement) CustomerOrderReview(user *global.User, urlParameters map[string]string) (result *model.CustomerOrderReviewInfo, err error) { func (impl *BalanceServiceImplement) CustomerOrderReview(user *global.User, urlParameters map[string]string) (result *model.CustomerOrderReviewInfo, err error) {
grmi.Log(user, "/services/ap/implments/BalanceService.service.impl.go", "CustomerOrderReview", "查询CustomerOrderReview") grmi.Log(user, "/services/ap/implments/BalanceService.service.impl.go", "CustomerOrderReview", "查询CustomerOrderReview")
@ -1554,6 +1552,7 @@ func (impl *BalanceServiceImplement) CustomerOrderReviewExport(user *global.User
result, err = grmi.SaveExcelFile(inter, []string{"CustomerId", "ArtId", "Qty", "ExpectedDate", "ReplyDate"}, "sheet1", "客户正式订单交期评审结果") result, err = grmi.SaveExcelFile(inter, []string{"CustomerId", "ArtId", "Qty", "ExpectedDate", "ReplyDate"}, "sheet1", "客户正式订单交期评审结果")
return result, err return result, err
} }
//mps计算逻辑 //mps计算逻辑
func (impl *BalanceServiceImplement) refreshMpsArticleDemand(isRefresh bool, data_ArticleStock []model_base.ArticleStock, data_ArticleStockLevel []model.ArticleStockLevel, data_ArticleDemand []model.ArticleDemand, data_ArticleResource []model.ArticleResource, mpsSetting *model.MpsSetting) ([]model.ArticleDemand, error) { func (impl *BalanceServiceImplement) refreshMpsArticleDemand(isRefresh bool, data_ArticleStock []model_base.ArticleStock, data_ArticleStockLevel []model.ArticleStockLevel, data_ArticleDemand []model.ArticleDemand, data_ArticleResource []model.ArticleResource, mpsSetting *model.MpsSetting) ([]model.ArticleDemand, error) {
if data_ArticleDemand == nil || len(data_ArticleDemand) == 0 { if data_ArticleDemand == nil || len(data_ArticleDemand) == 0 {
@ -1725,6 +1724,7 @@ func (impl *BalanceServiceImplement) refreshMpsArticleDemand(isRefresh bool, dat
return data_ArticleDemand, nil return data_ArticleDemand, nil
} }
//mps计算逻辑 --- 紧急插单 //mps计算逻辑 --- 紧急插单
func (impl *BalanceServiceImplement) refreshMpsArticleDemandEmergency(isRefresh bool, data_ArticleStock []model_base.ArticleStock, data_ArticleStockLevel []model.ArticleStockLevel, data_ArticleDemand []model.ArticleDemandEmergency, data_ArticleResource []model.ArticleResource, mpsSetting *model.MpsSetting) ([]model.ArticleDemandEmergency, error) { func (impl *BalanceServiceImplement) refreshMpsArticleDemandEmergency(isRefresh bool, data_ArticleStock []model_base.ArticleStock, data_ArticleStockLevel []model.ArticleStockLevel, data_ArticleDemand []model.ArticleDemandEmergency, data_ArticleResource []model.ArticleResource, mpsSetting *model.MpsSetting) ([]model.ArticleDemandEmergency, error) {
if data_ArticleDemand == nil || len(data_ArticleDemand) == 0 { if data_ArticleDemand == nil || len(data_ArticleDemand) == 0 {
@ -1847,6 +1847,7 @@ func (impl *BalanceServiceImplement) refreshMpsArticleDemandEmergency(isRefresh
return data_ArticleDemand, nil return data_ArticleDemand, nil
} }
//生成mps资源负荷 //生成mps资源负荷
func (impl *BalanceServiceImplement) GetMpsPlan(user *global.User, resouceId, secondresourceid, artId string) (*model.MpsPlan, error) { func (impl *BalanceServiceImplement) GetMpsPlan(user *global.User, resouceId, secondresourceid, artId string) (*model.MpsPlan, error) {
@ -2183,7 +2184,6 @@ func (impl *BalanceServiceImplement) makeMpsGroup(data_ArticleStock []model_base
return finalArticleDemandList, mpsGroupLst, nil, nil, false return finalArticleDemandList, mpsGroupLst, nil, nil, false
} }
// mps资源负荷计算
func (impl *BalanceServiceImplement) MpsPlan(user *global.User, resouceId, secondresourceid, artId string, MpsSettingNr int, CustomerId string) (*model.MpsPlan, error) { func (impl *BalanceServiceImplement) MpsPlan(user *global.User, resouceId, secondresourceid, artId string, MpsSettingNr int, CustomerId string) (*model.MpsPlan, error) {
grmi.Log(user, "/services/ap/implments/Balance.service.impl.go", "MpsPlan", "MpsPlan") grmi.Log(user, "/services/ap/implments/Balance.service.impl.go", "MpsPlan", "MpsPlan")
@ -2766,6 +2766,7 @@ func (impl *BalanceServiceImplement) SaveMpsPlan(user *global.User, ArticleDeman
return err return err
} }
//发布 //发布
func (impl *BalanceServiceImplement) PublishMpsPlan(user *global.User, version string) (err error) { func (impl *BalanceServiceImplement) PublishMpsPlan(user *global.User, version string) (err error) {
engine := db.Eloquent.Master() engine := db.Eloquent.Master()
@ -3203,6 +3204,7 @@ func CopyStruct(src, dst interface{}) {
dvalue.Set(value) //这里默认共同成员的类型一样,否则这个地方可能导致 panic,需要简单修改一下。 dvalue.Set(value) //这里默认共同成员的类型一样,否则这个地方可能导致 panic,需要简单修改一下。
} }
} }
// 启动程序预加载缓存 // 启动程序预加载缓存
func (impl *BalanceServiceImplement) RefreshData() error { func (impl *BalanceServiceImplement) RefreshData() error {
var err error var err error
@ -4790,6 +4792,7 @@ func (impl *BalanceServiceImplement) ArticleDemandEmergencyCreate(user *global.U
session.Commit() session.Commit()
return nil return nil
} }
//紧急插单保存 //紧急插单保存
func (impl *BalanceServiceImplement) ArticleDemandEmergencySave(user *global.User, mapList []map[string]string) error { func (impl *BalanceServiceImplement) ArticleDemandEmergencySave(user *global.User, mapList []map[string]string) error {
engine := db.Eloquent.Master() engine := db.Eloquent.Master()
@ -4824,6 +4827,7 @@ func (impl *BalanceServiceImplement) ArticleDemandEmergencySave(user *global.Use
return err return err
} }
//紧急插单显示 //紧急插单显示
func (impl *BalanceServiceImplement) ArticleDemandEmergencyGet(user *global.User, pageNumber, pageSize int) (*model.CustArtStockItem, error) { func (impl *BalanceServiceImplement) ArticleDemandEmergencyGet(user *global.User, pageNumber, pageSize int) (*model.CustArtStockItem, error) {
engine := db.Eloquent.Master() engine := db.Eloquent.Master()
@ -5052,6 +5056,7 @@ func (impl *BalanceServiceImplement) ArticleDemandEmergencyGet(user *global.User
CustArtStockaLL.Count = CustArtStockaLL.Count / 11 CustArtStockaLL.Count = CustArtStockaLL.Count / 11
return &CustArtStockaLL, nil return &CustArtStockaLL, nil
} }
//紧急插单发布 //紧急插单发布
func (impl *BalanceServiceImplement) ArticleDemandEmergencyPublish(user *global.User) (err error) { func (impl *BalanceServiceImplement) ArticleDemandEmergencyPublish(user *global.User) (err error) {
engine := db.Eloquent.Master() engine := db.Eloquent.Master()


+ 12
- 1
services/ap/implments/CustDemandVerHead.service.impl.go View File

@ -14,6 +14,7 @@ import (
"leit.com/LAPP_CHEERSSON_BACKEND/global" "leit.com/LAPP_CHEERSSON_BACKEND/global"
"leit.com/LAPP_CHEERSSON_BACKEND/grmi" "leit.com/LAPP_CHEERSSON_BACKEND/grmi"
meta "leit.com/LAPP_CHEERSSON_BACKEND/meta/ap" meta "leit.com/LAPP_CHEERSSON_BACKEND/meta/ap"
baseMeta "leit.com/LAPP_CHEERSSON_BACKEND/meta/base"
model "leit.com/LAPP_CHEERSSON_BACKEND/models/ap" model "leit.com/LAPP_CHEERSSON_BACKEND/models/ap"
baseModel "leit.com/LAPP_CHEERSSON_BACKEND/models/base" baseModel "leit.com/LAPP_CHEERSSON_BACKEND/models/base"
commonModel "leit.com/LAPP_CHEERSSON_BACKEND/models/common" commonModel "leit.com/LAPP_CHEERSSON_BACKEND/models/common"
@ -3482,6 +3483,7 @@ func (impl *CustDemandVerHeadServiceImplement) IssueGlobalAllVersion(user *globa
articleMap := make(map[string]baseModel.Article) articleMap := make(map[string]baseModel.Article)
//要区分组织 //要区分组织
request := make(map[string][]pln_forecast.FEntity) request := make(map[string][]pln_forecast.FEntity)
sealesOrderDao := basedal.NewSalesOrderDAO(session, user.PlantNr, user.UserId)
for _, v := range detailList { for _, v := range detailList {
startDate := v.DemandDate.Restore() startDate := v.DemandDate.Restore()
_week := startDate.Weekday() _week := startDate.Weekday()
@ -3509,6 +3511,15 @@ func (impl *CustDemandVerHeadServiceImplement) IssueGlobalAllVersion(user *globa
if FUseOrgNo == "" { if FUseOrgNo == "" {
FUseOrgNo = utils.K3Obj.FUseOrgNo FUseOrgNo = utils.K3Obj.FUseOrgNo
} }
//查询零件销售订单 当周销售数量
orderList, _ := sealesOrderDao.SelectSumPlanQty(v.ArtId, utils.ValueToString(v.DemandYear, "")+"."+utils.ValueToString(v.DemandWeek, ""), v.CustomerId)
_qty := v.DemandQty
if orderList != nil && len(orderList) > 1 {
qty := utils.ValueToFloat(string(orderList[0][baseMeta.SalesOrder_PlanQty.Name]), 0)
if qty > _qty {
_qty = qty
}
}
request[FUseOrgNo] = append(request[FUseOrgNo], pln_forecast.FEntity{ request[FUseOrgNo] = append(request[FUseOrgNo], pln_forecast.FEntity{
FSupplyOrgID: _struct.FNumber{ FSupplyOrgID: _struct.FNumber{
FNumber: FUseOrgNo, FNumber: FUseOrgNo,
@ -3522,7 +3533,7 @@ func (impl *CustDemandVerHeadServiceImplement) IssueGlobalAllVersion(user *globa
FUnitID: _struct.FNumber{ FUnitID: _struct.FNumber{
FNumber: _article.UomId, FNumber: _article.UomId,
}, },
FQty: v.DemandQty,
FQty: _qty,
FStartDate: _startDate.ToString(), FStartDate: _startDate.ToString(),
FEndDate: _endDate.ToString(), FEndDate: _endDate.ToString(),
FBaseUnitID: _struct.FNumber{ FBaseUnitID: _struct.FNumber{


+ 2
- 1
services/erp/erp.go View File

@ -567,7 +567,7 @@ func GetOrderQty(PlantNr int, UserId string, allData *[]model.Article) (err erro
OrderId := "DD" + "_" + billNoOrigin + "_" + rowId OrderId := "DD" + "_" + billNoOrigin + "_" + rowId
//fmt.Println(OrderId) //fmt.Println(OrderId)
Time = utils.WeekDayMondayZeroTs(Time) Time = utils.WeekDayMondayZeroTs(Time)
_week, _year, _ := utils.WeekByDate(Time)
SalesOrder := model.SalesOrder{ SalesOrder := model.SalesOrder{
PlantNr: PlantNr, PlantNr: PlantNr,
OrderId: OrderId, OrderId: OrderId,
@ -578,6 +578,7 @@ func GetOrderQty(PlantNr int, UserId string, allData *[]model.Article) (err erro
RecieveTime: grmi.DateTime(Time), RecieveTime: grmi.DateTime(Time),
PlanQty: Qty, PlanQty: Qty,
ProductType: "DD", ProductType: "DD",
CtrlStr1: utils.ValueToString(_year, "") + "." + utils.ValueToString(_week, ""),
} }
dao_SalesOrder.InsertOne(&SalesOrder) dao_SalesOrder.InsertOne(&SalesOrder)
//if err != nil { //if err != nil {


Loading…
Cancel
Save