2025-03-10 13:46:51 +08:00
package com.cim.idm.controller ;
2025-05-20 15:28:32 +08:00
import cn.hutool.core.date.DateUtil ;
2025-03-10 13:46:51 +08:00
import com.alibaba.fastjson.JSON ;
import com.alibaba.fastjson.JSONObject ;
import com.cim.idm.exception.GlobalException ;
import com.cim.idm.framework.IDMFrameServiceProxy ;
import com.cim.idm.framework.data.EventInfo ;
import com.cim.idm.model.* ;
2025-03-31 15:02:54 +08:00
import com.cim.idm.model.dto.TrackOutBoDto ;
import com.cim.idm.model.dto.StoragePrintDto ;
import com.cim.idm.model.po.MaterialReceiveRequest ;
2025-03-10 13:46:51 +08:00
import com.cim.idm.mwmsextend.materialpacking.service.MaterialPackingServiceImpl ;
import com.cim.idm.response.BaseResponse ;
import com.cim.idm.response.RespGenerator ;
2025-05-19 09:00:43 +08:00
import com.cim.idm.service.CostCenterService ;
2025-03-10 13:46:51 +08:00
import com.cim.idm.service.LabelService ;
2025-05-20 15:28:32 +08:00
import com.cim.idm.service.impl.ToSAPServiceImpl ;
2025-03-10 13:46:51 +08:00
import com.cim.idm.utils.AjaxResult ;
import com.cim.idm.utils.EventInfoUtil ;
import com.cim.idm.utils.JsonResponse ;
import com.cim.idm.wmsextend.generic.errorHandler.CustomException ;
import com.cim.idm.wmspackage.material.management.info.SetSpecEventInfo ;
import com.cim.idm.wmspackage.materialpacking.MaterialPackingServiceProxy ;
import com.cim.idm.wmspackage.materialpacking.management.data.MaterialPacking ;
import com.cim.idm.wmspackage.materialpacking.management.data.MaterialPackingKey ;
import com.cim.idm.wmspackage.materialpacking.management.info.SetEventInfo ;
2025-05-20 15:28:32 +08:00
import org.springframework.beans.factory.annotation.Autowired ;
2025-03-10 13:46:51 +08:00
import org.springframework.boot.autoconfigure.EnableAutoConfiguration ;
import org.springframework.boot.web.client.RestTemplateBuilder ;
2025-05-20 15:28:32 +08:00
import org.springframework.transaction.annotation.Transactional ;
2025-03-10 13:46:51 +08:00
import org.springframework.web.bind.annotation.* ;
import org.springframework.web.client.RestTemplate ;
import javax.annotation.Resource ;
import java.math.BigDecimal ;
import java.util.* ;
/ * *
* @author 10486880
* @version 1 . 0
* @description LabelController
* @date 2023 / 11 / 15 9 : 54
* /
@RestController
@RequestMapping ( " /api/label " )
@EnableAutoConfiguration
public class LabelController {
@Resource
private LabelService labelService ;
2025-05-19 09:00:43 +08:00
@Resource
private CostCenterService costCenterService ;
2025-05-20 15:28:32 +08:00
@Resource
private ToSAPServiceImpl toSAPService ;
2025-03-10 13:46:51 +08:00
// @Resource
// private LabelPrintInfoService labelPrintInfoService;
private static final RestTemplate restTemplate = new RestTemplateBuilder ( ) . build ( ) ;
@PostMapping ( " labelAction " )
//@Operation(summary = "labelAction, 创建,修改,删除 标签, actionType 提交 Create | Modify | Delete ")
public JsonResponse < String > labelAction ( @RequestBody LabelDto data ) {
labelService . labelAction ( data ) ;
return JsonResponse . success ( ) ;
}
@PostMapping ( " labelAssignFGCodeAction " )
//@Operation(summary = "标签绑定 产品型号, actionType 提交 Create | Delete ")
public JsonResponse < String > labelAssignFGCodeAction ( @RequestBody LabelAssignFGCodeDto data ) {
labelService . labelAssignFGCodeAction ( data ) ;
return JsonResponse . success ( ) ;
}
@PostMapping ( " labelAssignParameterAction " )
//@Operation(summary = "标签绑定 标签参数")
public JsonResponse < String > labelAssignParameterAction ( @RequestBody LabelAssignParameterDto data ) {
labelService . labelAssignParameterAction ( data ) ;
return JsonResponse . success ( ) ;
}
2025-03-21 14:51:37 +08:00
@RequestMapping ( value = " /storagePrint " , method = RequestMethod . POST )
public AjaxResult storagePrint ( @RequestBody JSONObject in ) throws CustomException {
// 获取信息
String printName = in . get ( " PRINTNAME " ) . toString ( ) ;
// 数据
List < Map < String , Object > > dataList = ( List ) in . get ( " LIST " ) ;
// 打印
List < String > resList = new ArrayList < > ( ) ;
for ( Map < String , Object > data : dataList ) {
StoragePrintDto storagePrintDto = new StoragePrintDto ( ) ;
storagePrintDto . setPrinterName ( printName ) ;
storagePrintDto . setSiteName ( data . get ( " SITENAME " ) . toString ( ) ) ;
storagePrintDto . setStorageName ( data . get ( " STORAGENAME " ) . toString ( ) ) ;
String urlInfo = labelService . storagePrint ( storagePrintDto ) ;
resList . add ( urlInfo ) ;
}
return AjaxResult . me ( ) . setResultObj ( resList ) ;
}
2025-03-10 13:46:51 +08:00
@RequestMapping ( value = " /labelPrintTest " , method = RequestMethod . POST )
//@Operation(summary = "标签打印测试, 测试只能打印 标签模板没有参数的标签. ")
public AjaxResult labelPrintTest ( @RequestBody JSONObject in ) throws CustomException {
String user = in . get ( " USER " ) . toString ( ) ;
String PRINTNAME = in . get ( " PRINTNAME " ) . toString ( ) ;
List < Map < String , Object > > js = ( List ) in . get ( " LIST " ) ;
List < String > urlList = new ArrayList < > ( ) ;
for ( int i = 0 ; i < js . size ( ) ; i + + ) {
Map jb = js . get ( i ) ;
LabelPrintDto labelPrintDto = new LabelPrintDto ( ) ;
labelPrintDto . setLotName ( jb . get ( " MATERIALPACKINGNAME " ) . toString ( ) ) ;
labelPrintDto . setOpreater ( user ) ;
labelPrintDto . setPrinterName ( PRINTNAME ) ;
String urlInfo = labelService . labelPrintTest ( labelPrintDto ) ;
urlList . add ( urlInfo ) ;
}
return AjaxResult . me ( ) . setResultObj ( urlList ) ;
}
@RequestMapping ( value = " /labelPrintTest1 " , method = RequestMethod . POST )
//@Operation(summary = "标签打印测试, 测试只能打印 标签模板没有参数的标签. ")
public JsonResponse < String > labelPrintTest1 ( @RequestBody JSONObject in ) throws CustomException {
String user = in . get ( " USER " ) . toString ( ) ;
String PRINTNAME = in . get ( " PRINTNAME " ) . toString ( ) ;
List < Map < String , Object > > js = ( List ) in . get ( " LIST " ) ;
for ( int i = 0 ; i < js . size ( ) ; i + + ) {
Map jb = js . get ( i ) ;
LabelPrintDto1 labelPrintDto = new LabelPrintDto1 ( ) ;
labelPrintDto . setLotName ( jb . get ( " MATERIALPACKINGNAME " ) . toString ( ) ) ;
// labelPrintDto.setDESC_CN(jb.get("DESC_CN").toString());
labelPrintDto . setOpreater ( user ) ;
labelPrintDto . setPrinterName ( PRINTNAME ) ;
labelService . labelPrintTest1 ( labelPrintDto ) ;
}
return JsonResponse . success ( ) ;
}
// 太仓成品打印
@RequestMapping ( value = " /labelPrintTest2 " , method = RequestMethod . POST )
//@Operation(summary = "标签打印测试, 测试只能打印 标签模板没有参数的标签. ")
public JsonResponse < String > labelPrintTest2 ( @RequestBody JSONObject in ) throws CustomException {
String user = in . get ( " USER " ) . toString ( ) ;
String PRINTNAME = in . get ( " PRINTNAME " ) . toString ( ) ;
String qty = in . get ( " QTY " ) . toString ( ) ;
List < Map < String , Object > > js = ( List ) in . get ( " LIST " ) ;
for ( int i = 0 ; i < js . size ( ) ; i + + ) {
Map jb = js . get ( i ) ;
LabelPrintDto2 labelPrintDto = new LabelPrintDto2 ( ) ;
labelPrintDto . setLotName ( jb . get ( " LOTNAME " ) . toString ( ) ) ;
labelPrintDto . setOpreater ( user ) ;
labelPrintDto . setPrinterName ( PRINTNAME ) ;
labelPrintDto . setQty ( qty ) ;
labelService . labelPrintTest2 ( labelPrintDto ) ;
}
return JsonResponse . success ( ) ;
}
/ *
* 现存量标签打印
* Existing Stock Label
* /
@RequestMapping ( value = " /existingStockLabel " , method = RequestMethod . POST )
//@Operation(summary = "标签打印测试, 测试只能打印 标签模板没有参数的标签. ")
public AjaxResult existingStockLabel ( @RequestBody JSONObject in ) throws CustomException {
String user = in . get ( " USER " ) . toString ( ) ;
String PRINTNAME = in . get ( " PRINTNAME " ) . toString ( ) ;
String LABELCODE = in . get ( " LABELCODE " ) . toString ( ) ;
List < Map < String , Object > > js = ( List ) in . get ( " LIST " ) ;
List < String > urlList = new ArrayList < > ( ) ;
for ( int i = 0 ; i < js . size ( ) ; i + + ) {
Map jb = js . get ( i ) ;
LabelPrintDto1 labelPrintDto = new LabelPrintDto1 ( ) ;
labelPrintDto . setLotName ( jb . get ( " MATERIALPACKINGNAME " ) . toString ( ) ) ;
labelPrintDto . setDESC_CN ( jb . get ( " DESC_CN " ) . toString ( ) ) ;
labelPrintDto . setOpreater ( user ) ;
labelPrintDto . setPrinterName ( PRINTNAME ) ;
labelPrintDto . setLabelType ( LABELCODE ) ;
String urlInfo = labelService . labelPrintTest3 ( labelPrintDto ) ;
urlList . add ( urlInfo ) ;
}
return AjaxResult . me ( ) . setResultObj ( urlList ) ;
}
@PostMapping ( " labelPrint " )
//@Operation(summary = "标签打印.")
public JsonResponse < String > labelPrint ( @RequestBody LabelPrintDto data ) {
labelService . labelPrint ( data ) ;
return JsonResponse . success ( ) ;
}
@PostMapping ( " batchLabelPrint " )
//@Operation(summary = "批量标签打印.")
public JsonResponse < String > batchLabelPrint ( @RequestBody LabelPrintBatchDto data ) {
labelService . batchLabelPrint ( data ) ;
return JsonResponse . success ( ) ;
}
@PostMapping ( " getPrinters " )
//@Operation(summary = "打印机列表.")
public JsonResponse < List < String > > getPrinters ( @RequestBody LabelPrintDto dto ) {
// Object permList = restTemplate.getForObject(
// "http://192.168.200.237/Bartender/api/v1/printers",Object.class);
String url = dto . getLabelId ( ) ;
Object permList = restTemplate . getForObject (
url , Object . class ) ;
return new JsonResponse ( permList ) ;
}
@PostMapping ( " labeParameterAction " )
//@Operation(summary = "标签参数创建,删除")
public JsonResponse < String > labelParameterAction ( @RequestBody LabelParameterDto data ) {
labelService . labelParameterAction ( data ) ;
return JsonResponse . success ( ) ;
}
@PostMapping ( " saveLabelPrintInfo " )
//@Operation(summary = "标签信息保存")
public JsonResponse < String > saveLabelPrintInfo ( @RequestBody LabelPrintInfoDto data ) {
labelService . saveLabelPrintInfo ( data ) ;
return JsonResponse . success ( ) ;
}
@PostMapping ( " updateLabelPrintInfo " )
//@Operation(summary = "标签信息修改")
public JsonResponse < String > updateLabelPrintInfo ( @RequestBody LabelPrintInfoDto data ) {
//labelService.updateLabelPrintInfo(data);
return JsonResponse . success ( ) ;
}
/ * *
* 单位打印
* lz
* /
@RequestMapping ( value = " /getUnitData " , method = RequestMethod . POST )
public AjaxResult getUnitData ( ) {
String sqlString = " SELECT FNUMBER,fname FROM MATERIALUNIT " ;
Map < String , Object > bindMap = new HashMap < String , Object > ( ) ;
List < Map < String , Object > > list = IDMFrameServiceProxy . getSqlTemplate ( ) . queryForList ( sqlString , bindMap ) ;
if ( Objects . isNull ( list ) | | list . isEmpty ( ) ) {
throw new GlobalException ( " 未找到对应的单位! " ) ;
}
return AjaxResult . me ( ) . setResultObj ( list ) ;
}
/ * *
* 生成销售备货单号
* @param in
* @return
* /
@RequestMapping ( value = " /getSDKSPEC " , method = RequestMethod . POST )
public AjaxResult getSDKSPEC ( @RequestBody JSONObject in ) {
MaterialshipRequest materialShipRequest = JSON . toJavaObject ( in , MaterialshipRequest . class ) ;
String materialSpecName = materialShipRequest . getMaterialSpecName ( ) ; //料号
//根据料号获取sdk规格信息
if ( materialSpecName = = null | | " " . equals ( materialSpecName ) ) {
return AjaxResult . me ( ) . setSuccess ( false ) . setMessage ( " 料号获取sdk规格信息不能为空 " ) ;
}
if ( materialSpecName . startsWith ( " 4 " ) ) {
materialSpecName = " 4 " ;
}
String sql = " SELECT SDK_ID as \" value \" ,SPECNAME as \" text \" FROM SDK_SPEC ss WHERE ss.PARTNUMBER = :PARTNUMBER " ;
Map < String , Object > hashMap = new HashMap < String , Object > ( ) ;
hashMap . put ( " PARTNUMBER " , materialSpecName ) ;
List < Map < String , Object > > queryForList = IDMFrameServiceProxy . getSqlTemplate ( ) . queryForList ( sql , hashMap ) ;
return AjaxResult . me ( ) . setResultObj ( queryForList ) ;
}
/ * *
* 创建Box
* @param in
* @return
* @throws CustomException
* @throws Exception
* /
@RequestMapping ( value = " /TrackOutBox " , method = RequestMethod . POST )
public AjaxResult TrackOutBox ( @RequestBody JSONObject in ) {
TrackOutBoDto boxs = JSON . toJavaObject ( in , TrackOutBoDto . class ) ;
MaterialreceiveActDto box = boxs . getMaterialreceiveAct ( ) ;
String user = boxs . getUser ( ) ;
String sdkid = box . getSdkid ( ) ;
String phase = box . getPhase ( ) ;
String makeDate = box . getMakeDate ( ) ;
String materialquantity = box . getMATERIALQUANTITY ( ) ;
String erpFactory = box . getErpFactory ( ) ;
String materialcreatequantity = box . getMATERIALCREATEQUANTITY ( ) ;
String unit = box . getUnit ( ) ;
String materialSpecName = box . getMaterialSpecName ( ) ;
String truegg = box . getTruegg ( ) ;
String remark = box . getRemark ( ) ;
String siteName = " SDK " ;
EventInfo makeEventInfo = new EventInfoUtil ( ) . makeEventInfo ( " TrackOutBox " , user , " TrackOutBox " ) ;
//判断数量卡控是否正确
BigDecimal fboxQuantity = new BigDecimal ( materialquantity ) ; //标签数量
BigDecimal feveryBoxQuantity = new BigDecimal ( materialcreatequantity ) ; //标签个数
if ( ( fboxQuantity . divide ( feveryBoxQuantity ) ) . compareTo ( BigDecimal . ZERO ) = = - 1 ) {
return AjaxResult . me ( ) . setSuccess ( false ) . setMessage ( " 标签个数不能小于0 " ) ;
}
if ( feveryBoxQuantity . compareTo ( BigDecimal . ZERO ) = = - 1 ) {
return AjaxResult . me ( ) . setSuccess ( false ) . setMessage ( " 标签数量不能小于0 " ) ;
}
String timeKey = null ;
// String.valueOf((int)Math.floor(fboxQuantity/feveryBoxQuantity)
try {
timeKey = MaterialPackingServiceImpl . PackingLoael ( makeEventInfo , siteName , String . valueOf ( fboxQuantity . divide ( feveryBoxQuantity ) ) ,
materialcreatequantity , makeDate , erpFactory , materialSpecName , sdkid , phase , unit ,
String . valueOf ( ( fboxQuantity . remainder ( feveryBoxQuantity ) ) ) , truegg , remark ) ;
} catch ( Exception e ) {
// TODO Auto-generated catch block
e . printStackTrace ( ) ;
return AjaxResult . me ( ) . setSuccess ( false ) . setMessage ( e . toString ( ) ) ;
}
System . out . println ( timeKey ) ;
// String sqlString = "SELECT LASTEVENTTIMEKEY, MATERIALSPECNAME, SPECNAME, PHASE, MATERIALQUANTITY, UNIT, CHARGE, MATERIALPACKINGNAME FROM MATERIALPACKING m LEFT JOIN SDK_SPEC ss ON m.SDK_ID = ss.SDK_ID WHERE m.LASTEVENTTIMEKEY = :LASTEVENTTIMEKEY";
// String sqlString = " SELECT m.LASTEVENTTIMEKEY, m.MATERIALSPECNAME, ss.SPECNAME, m.PHASE, m.MATERIALQUANTITY, m2.FNAME AS UNIT, m.CHARGE, m.MATERIALPACKINGNAME FROM MATERIALPACKING m LEFT JOIN SDK_SPEC ss ON m.SDK_ID = ss.SDK_ID LEFT JOIN MATERIALUNIT m2 ON m.UNIT = m2.FNUMBER WHERE m.LASTEVENTTIMEKEY = :LASTEVENTTIMEKEY";
String sqlString = " SELECT m.LASTEVENTTIMEKEY, m.MATERIALSPECNAME, ss.SPECNAME, m.PHASE, m.MATERIALQUANTITY, m2.FNAME AS UNIT, m.CHARGE, m.MATERIALPACKINGNAME,m.TRUEGG,m.REMARK \ r \ n "
+ " FROM MATERIALPACKING m \ r \ n "
+ " LEFT JOIN SDK_SPEC ss ON m.SDK_ID = ss.SDK_ID \ r \ n "
+ " LEFT JOIN MATERIALUNIT m2 ON m.UNIT = m2.FNUMBER \ r \ n "
+ " WHERE 1=1 \ r \ n "
+ " AND m.LASTEVENTTIMEKEY = :LASTEVENTTIMEKEY " ;
Map < String , Object > bindMap = new HashMap < String , Object > ( ) ;
bindMap . put ( " LASTEVENTTIMEKEY " , timeKey ) ;
List < Map < String , Object > > list = IDMFrameServiceProxy . getSqlTemplate ( ) . queryForList ( sqlString , bindMap ) ;
if ( Objects . isNull ( list ) | | list . isEmpty ( ) ) {
// throw new GlobalException("未找到对应的单位!");
return AjaxResult . me ( ) . setSuccess ( false ) . setMessage ( " 未找到对应的数据! " ) ;
}
return AjaxResult . me ( ) . setResultObj ( list ) ;
}
//@PostMapping("generateLabelId")
//@Operation(summary = "生成打印批号")
// public JsonResponse<List<String>> generateLabelId(@RequestBody NameRuleDto data) {
// String labelId = labelService.generateLabelId(data);
// return new JsonResponse(labelId);
// }
// @PostMapping("saveNcData")
// //@Operation(summary = "保存NC数据")
// public JsonResponse<String> saveNcData(@RequestBody List<NcDataDto> data) {
// labelService.saveNcData(data);
// return JsonResponse.success();
// }
private float BigDecimal ( String materialquantity ) {
// TODO Auto-generated method stub
return 0 ;
}
/ * *
* 修改标签备注
* @param in
* @return
* /
@RequestMapping ( value = " /updateRemark " , method = RequestMethod . POST )
public AjaxResult updateRemark ( @RequestBody JSONObject in ) {
MaterialReceiveRequest sl = JSON . toJavaObject ( in , MaterialReceiveRequest . class ) ;
String remark = sl . getRemark ( ) ;
String user = sl . getUser ( ) ;
List < MaterialPacking > boxList = sl . getBoxList ( ) ;
List < MaterialPackingKey > listKey = new ArrayList < MaterialPackingKey > ( ) ;
for ( MaterialPacking materialPacking : boxList ) {
MaterialPackingKey key = materialPacking . getKey ( ) ;
listKey . add ( key ) ;
}
EventInfo makeEventInfo = new EventInfoUtil ( ) . makeEventInfo ( " ModifiedPackingRemark " , user , " ModifiedPackingRemark " ) ;
SetEventInfo setEventInfo = new SetEventInfo ( ) ;
Map < String , Object > hashMap = new HashMap < String , Object > ( ) ;
hashMap . put ( " remark " , remark ) ;
setEventInfo . setUserColumns ( hashMap ) ;
MaterialPackingServiceProxy . getMaterialPackingService ( ) . setEvent ( listKey , makeEventInfo , setEventInfo ) ;
return AjaxResult . me ( ) . setSuccess ( true ) . setMessage ( " 标签更新成功 " ) ;
}
/ * *
* 修改实际规格
* @param in
* @return
* /
@RequestMapping ( value = " /updateTruegg " , method = RequestMethod . POST )
public AjaxResult updateTruegg ( @RequestBody JSONObject in ) {
MaterialReceiveRequest sl = JSON . toJavaObject ( in , MaterialReceiveRequest . class ) ;
String truegg = sl . getTruegg ( ) ;
String user = sl . getUser ( ) ;
List < MaterialPacking > boxList = sl . getBoxList ( ) ;
List < MaterialPackingKey > listKey = new ArrayList < MaterialPackingKey > ( ) ;
for ( MaterialPacking materialPacking : boxList ) {
MaterialPackingKey key = materialPacking . getKey ( ) ;
listKey . add ( key ) ;
}
EventInfo makeEventInfo = new EventInfoUtil ( ) . makeEventInfo ( " ModifiedPackingTruegg " , user , " ModifiedPackingTruegg " ) ;
SetEventInfo setEventInfo = new SetEventInfo ( ) ;
Map < String , Object > hashMap = new HashMap < String , Object > ( ) ;
hashMap . put ( " truegg " , truegg ) ;
setEventInfo . setUserColumns ( hashMap ) ;
MaterialPackingServiceProxy . getMaterialPackingService ( ) . setEvent ( listKey , makeEventInfo , setEventInfo ) ;
return AjaxResult . me ( ) . setSuccess ( true ) . setMessage ( " 实际规格更新成功 " ) ;
}
2025-05-19 09:00:43 +08:00
2025-03-10 13:46:51 +08:00
//更新业助
@RequestMapping ( value = " /updateCareerAssistance " , method = RequestMethod . POST )
2025-05-19 09:00:43 +08:00
public AjaxResult updateCareerAssistance ( @RequestBody JSONObject in ) {
costCenterService . updateCareerAssistanceNew ( in ) ;
2025-03-10 13:46:51 +08:00
return AjaxResult . me ( ) . setSuccess ( true ) . setMessage ( " 业助更新成功 " ) ;
}
2025-04-07 16:19:42 +08:00
2025-03-10 13:46:51 +08:00
@RequestMapping ( value = " /checkMaterialPack " , method = RequestMethod . POST )
2025-05-20 15:28:32 +08:00
@Transactional ( rollbackFor = Exception . class )
public BaseResponse < Map < String , Object > > checkMaterial ( @RequestBody List < Map < String , Object > > params ) {
List < String > sapBoxList = new ArrayList < > ( ) ;
for ( Map < String , Object > param : params ) {
String siteName = ( String ) param . get ( " SITENAME " ) ;
String materialpackingname = ( String ) param . get ( " MATERIALPACKINGNAME " ) ;
String materialspecname = ( String ) param . get ( " MATERIALSPECNAME " ) ;
String charge = ( String ) param . get ( " CHARGE " ) ;
String career_assistance = ( String ) param . get ( " CAREER_ASSISTANCE " ) ;
String customno = ( String ) param . get ( " CUSTOMNO " ) ;
String user = ( String ) param . get ( " user " ) ;
String is_check = ( String ) param . get ( " IS_CHECK " ) ;
String SALESHIPREQUESTNAME = ( String ) param . get ( " SALESHIPREQUESTNAME " ) ;
String SALESHIPREQUESTDETAILNAME = ( String ) param . get ( " SALESHIPREQUESTDETAILNAME " ) ;
String POSTSTATUS = ( String ) param . get ( " POSTSTATUS " ) ;
String OLDSALESHIPREQUESTNAME = ( String ) param . get ( " OLDSALESHIPREQUESTNAME " ) ;
String OLDSALESHIPREQUESTDETAILNAME = ( String ) param . get ( " OLDSALESHIPREQUESTDETAILNAME " ) ;
sapBoxList . add ( materialpackingname ) ;
String updatePackingSql = " UPDATE MATERIALPACKING SET SALESHIPREQUESTNAME = :SALESHIPREQUESTNAME, " +
" SALESHIPREQUESTDETAILNAME = :SALESHIPREQUESTDETAILNAME, " +
" POSTSTATUS = :POSTSTATUS, OLDSALESHIPREQUESTNAME = :OLDSALESHIPREQUESTNAME, " +
" OLDSALESHIPREQUESTDETAILNAME = :OLDSALESHIPREQUESTDETAILNAME WHERE MATERIALPACKINGNAME = :MATERIALPACKINGNAME " ;
Map < String , Object > bindMapPac = new HashMap < String , Object > ( ) ;
bindMapPac . put ( " SALESHIPREQUESTNAME " , SALESHIPREQUESTNAME ) ;
bindMapPac . put ( " SALESHIPREQUESTDETAILNAME " , SALESHIPREQUESTDETAILNAME ) ;
bindMapPac . put ( " POSTSTATUS " , POSTSTATUS ) ;
bindMapPac . put ( " MATERIALPACKINGNAME " , materialpackingname ) ;
bindMapPac . put ( " OLDSALESHIPREQUESTNAME " , OLDSALESHIPREQUESTNAME ) ;
bindMapPac . put ( " OLDSALESHIPREQUESTDETAILNAME " , OLDSALESHIPREQUESTDETAILNAME ) ;
IDMFrameServiceProxy . getSqlTemplate ( ) . update ( updatePackingSql , bindMapPac ) ;
SetSpecEventInfo info = new SetSpecEventInfo ( ) ;
Map < String , Object > bindMap = new HashMap < String , Object > ( ) ;
bindMap . put ( " MATERIALPACKINGNAME " , materialpackingname ) ;
bindMap . put ( " MATERIALSPECNAME " , materialspecname ) ;
bindMap . put ( " CHARGE " , charge ) ;
bindMap . put ( " IS_CHECK " , is_check ) ;
String uptSql = " UPDATE \ r \ n " +
" MATERIALPACKINGCHECK mk \ r \ n " +
" SET \ r \ n " +
" mk.IS_CHECK = :IS_CHECK \ r \ n " +
" WHERE \ r \ n " +
" mk.MATERIALPACKINGNAME = :MATERIALPACKINGNAME \ r \ n " +
" AND mk.MATERIALSPECNAME = :MATERIALSPECNAME \ r \ n " +
" AND (mk.CHARGE = :CHARGE OR :CHARGE IS NULL) " ;
IDMFrameServiceProxy . getSqlTemplate ( ) . update ( uptSql , bindMap ) ;
Map < String , Object > bindMap2 = new HashMap < String , Object > ( ) ;
bindMap2 . put ( " MATERIALPACKINGNAME " , materialpackingname ) ;
2025-03-10 13:46:51 +08:00
// bindMap2.put("CHARGE", charge);
2025-05-20 15:28:32 +08:00
bindMap2 . put ( " CAREER_ASSISTANCE " , career_assistance ) ;
bindMap2 . put ( " CUSTOMNO " , customno ) ;
SetEventInfo setEventInfo = new SetEventInfo ( ) ;
setEventInfo . setUserColumns ( bindMap2 ) ;
MaterialPackingKey mk = new MaterialPackingKey ( siteName , materialpackingname ) ;
EventInfo makeEventInfo = new EventInfoUtil ( ) . makeEventInfo ( " UpdateCareerAssistance " , user , " UpdateCareerAssistance " ) ;
MaterialPackingServiceProxy . getMaterialPackingService ( ) . setEvent ( mk , makeEventInfo , setEventInfo ) ;
2025-04-07 16:19:42 +08:00
2025-05-20 15:28:32 +08:00
}
String siteName = " " ;
String user = " " ;
String SALESHIPREQUESTNAME = " " ;
String SALESHIPREQUESTDETAILNAME = " " ;
String commitDate = DateUtil . now ( ) ;
if ( params . size ( ) > 0 ) {
siteName = ( String ) params . get ( 0 ) . get ( " SITENAME " ) ;
user = ( String ) params . get ( 0 ) . get ( " user " ) ;
SALESHIPREQUESTNAME = ( String ) params . get ( 0 ) . get ( " SALESHIPREQUESTNAME " ) ;
SALESHIPREQUESTDETAILNAME = ( String ) params . get ( 0 ) . get ( " SALESHIPREQUESTDETAILNAME " ) ;
String mainId = ( String ) params . get ( 0 ) . get ( " MAIN_ID " ) ;
2025-05-20 16:00:37 +08:00
commitDate = params . get ( 0 ) . get ( " commitDate " ) ! = null ? ( String ) params . get ( 0 ) . get ( " commitDate " ) : DateUtil . now ( ) ;
2025-05-20 15:28:32 +08:00
costCenterService . updateCheckMain ( mainId ) ;
}
if ( sapBoxList . size ( ) > 0 ) {
String undoId = toSAPService . careerAssistance ( sapBoxList , siteName , user , SALESHIPREQUESTNAME , SALESHIPREQUESTDETAILNAME , commitDate ) ;
}
BaseResponse returnOK = RespGenerator . returnOK ( params ) ;
2025-04-07 16:19:42 +08:00
return returnOK ;
2025-03-10 13:46:51 +08:00
}
/ * *
* 查询规格
* @param in
* @return
* /
@RequestMapping ( value = " /getSpecList " , method = RequestMethod . POST )
public AjaxResult getSpecList ( @RequestBody JSONObject in ) {
SpecPartnumber spec = JSON . toJavaObject ( in , SpecPartnumber . class ) ;
String materialSpecName = spec . getPRODUCTSPECNAME ( ) ;
//根据料号获取sdk规格信息
if ( materialSpecName = = null | | " " . equals ( materialSpecName ) ) {
return AjaxResult . me ( ) . setSuccess ( false ) . setMessage ( " 料号获取sdk规格信息不能为空 " ) ;
}
if ( materialSpecName . startsWith ( " 4 " ) ) {
materialSpecName = " 4 " ;
}
String sql = " SELECT SDK_ID as \" value \" ,SPECNAME as \" text \" FROM SDK_SPEC ss WHERE ss.PARTNUMBER = :PARTNUMBER " ;
Map < String , Object > hashMap = new HashMap < String , Object > ( ) ;
hashMap . put ( " PARTNUMBER " , materialSpecName ) ;
List < Map < String , Object > > queryForList = IDMFrameServiceProxy . getSqlTemplate ( ) . queryForList ( sql , hashMap ) ;
return AjaxResult . me ( ) . setResultObj ( queryForList ) ;
}
/ * *
* 查询规格
* @param in
* @return
* /
@RequestMapping ( value = " /labelMaterial " , method = RequestMethod . POST )
public AjaxResult labelMaterial ( @RequestBody JSONObject in ) {
GetLabelMaterial labelMaterial = JSON . toJavaObject ( in , GetLabelMaterial . class ) ;
String materialpackingname = labelMaterial . getMATERIALPACKINGNAME ( ) ;
String materialspecname = labelMaterial . getMATERIALSPECNAME ( ) ;
String sqlString = " SELECT m.MATERIALPACKINGNAME,m2.DESC_CN,m.TRUEGG,m.MATERIALQUANTITY "
+ " FROM MATERIALPACKING m "
+ " LEFT JOIN MATERIALSPEC m2 ON m.MATERIALSPECNAME = m2.MATERIALSPECNAME "
+ " WHERE 1=1 "
+ " AND m.MATERIALPACKINGNAME = :MATERIALPACKINGNAME "
+ " AND m.MATERIALSPECNAME = :MATERIALSPECNAME " ;
HashMap < String , Object > hashMap = new HashMap < String , Object > ( ) ;
hashMap . put ( " MATERIALPACKINGNAME " , materialpackingname ) ;
hashMap . put ( " MATERIALSPECNAME " , materialspecname ) ;
List < Map < String , Object > > list = IDMFrameServiceProxy . getSqlTemplate ( ) . queryForList ( sqlString , hashMap ) ;
return AjaxResult . me ( ) . setResultObj ( list ) ;
}
}