src/main/java/com/zy/asrs/controller/MobileController.java
@@ -19,12 +19,17 @@ import com.zy.common.utils.Synchro; import com.zy.common.web.BaseController; import com.zy.nc.entity.NccJcQilibcBarcodeflowWms; import com.zy.nc.entity.NccQilibcTmprintWms; import com.zy.nc.entity.NccSaleXclGgsybWms; import com.zy.nc.service.NccJcQilibcBarcodeflowWmsService; import com.zy.nc.service.NccQilibcTmprintWmsService; import com.zy.nc.service.NccSaleXclGgsybWmsService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.math.BigDecimal; import java.util.*; /** @@ -61,11 +66,17 @@ private WrkDetlLogService wrkDetlLogService; @Autowired private WrkMastLogService wrkMastLogService; @Autowired private StoreTypeService storeTypeService; @Autowired private MatService matService; @Autowired private NccJcQilibcBarcodeflowWmsService nccJcQilibcBarcodeflowWmsService; @Autowired private NccQilibcTmprintWmsService nccQilibcTmprintWmsService; @Autowired private NccSaleXclGgsybWmsService nccSaleXclGgsybWmsService; @Autowired private OrderPakinService orderPakinService; @@ -264,23 +275,19 @@ @RequestMapping(value = "/mat/auth") @ManagerAuth public R pdaSearchV3(@RequestParam String matnr) { EntityWrapper<NccJcQilibcBarcodeflowWms> wrapper = new EntityWrapper<>(); wrapper.eq("VBARCODE", matnr).orderBy("ts", false); NccJcQilibcBarcodeflowWms nccJcQilibcBarcodeflowWms = nccJcQilibcBarcodeflowWmsService.selectOne(wrapper); if (null == nccJcQilibcBarcodeflowWms) { EntityWrapper<NccQilibcTmprintWms> wrapper = new EntityWrapper<>(); wrapper.eq("BARCODE", matnr).orderBy("PRINTTIME", false); NccQilibcTmprintWms nccQilibcTmprintWms = nccQilibcTmprintWmsService.selectOne(wrapper); if (null == nccQilibcTmprintWms) { return R.error("未找到此条码"); } else { if (!nccJcQilibcBarcodeflowWms.getInfla().equals("出库")) { return R.error("该条码最后一次不是出库"); } } Mat mat = matService.selectByMatnr(nccJcQilibcBarcodeflowWms.getWlbm()); Mat mat = matService.selectByMatnr(nccQilibcTmprintWms.getWlbm()); MatParam matParam = new MatParam(); Synchro.Copy(mat, matParam); matParam.setBatch(nccJcQilibcBarcodeflowWms.getVbatchcode()); matParam.setAnfme(nccJcQilibcBarcodeflowWms.getAsnnum() == null ? 0.0D : nccJcQilibcBarcodeflowWms.getAsnnum().doubleValue()); matParam.setAnfme2(nccJcQilibcBarcodeflowWms.getNastnum() == null ? 0.0D : nccJcQilibcBarcodeflowWms.getNastnum().doubleValue()); matParam.setTiaoma(nccJcQilibcBarcodeflowWms.getVbarcode()); matParam.setBatch(nccQilibcTmprintWms.getVbatchcode()); matParam.setAnfme(nccQilibcTmprintWms.getAsnnum() == null ? 0.0D : nccQilibcTmprintWms.getAsnnum().doubleValue()); matParam.setAnfme2(nccQilibcTmprintWms.getNastnum() == null ? 0.0D : nccQilibcTmprintWms.getNastnum().doubleValue()); matParam.setTiaoma(nccQilibcTmprintWms.getBarcode()); return R.ok().add(matParam); } @@ -334,6 +341,53 @@ return R.ok("组托成功"); } @RequestMapping("/comb2/auth") @ManagerAuth(memo = "采购组托") public R comb2(@RequestBody CombParam combParam) { CombParam.CombMat combMat = combParam.getCombMats().get(0); ArrayList<String> ckbmList = new ArrayList<>(); List<StoreType> storeTypes = storeTypeService.selectList(new EntityWrapper<StoreType>() .like("store_name", "立体库")); for (StoreType storeType : storeTypes) { ckbmList.add(storeType.getStoreId()); } NccSaleXclGgsybWms nccSaleXclGgsybWms = nccSaleXclGgsybWmsService.selectOne(new EntityWrapper<NccSaleXclGgsybWms>() .eq("WLBM", combMat.getMatnr()) .eq("VBATCHCODE", combMat.getBatch()) .in("CKBM", ckbmList) ); if(null == nccSaleXclGgsybWms) { return R.error("未查到ERP库存"); } //ERP库存数量 BigDecimal zsl = nccSaleXclGgsybWms.getZsl(); //获取立库数量 List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>() .eq("matnr", combMat.getMatnr()) .eq("batch", combMat.getBatch()) ); BigDecimal stockNum = new BigDecimal(0); for (LocDetl locDetl : locDetls) { stockNum = stockNum.add(BigDecimal.valueOf(locDetl.getAnfme())); } //加上组托数量 for (CombParam.CombMat mat : combParam.getCombMats()) { stockNum = stockNum.add(BigDecimal.valueOf(mat.getAnfme())); } if(stockNum.doubleValue() > zsl.doubleValue()) { return R.error("组托数量超过ERP库存"); } mobileService.comb(combParam, getUserId()); return R.ok("组托成功"); } @RequestMapping("/pack/get/auth") @ManagerAuth public R packGet(@RequestParam String barcode) { src/main/java/com/zy/nc/entity/NccQilibcTmprintWms.java
New file @@ -0,0 +1,59 @@ package com.zy.nc.entity; import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; import lombok.Data; import java.math.BigDecimal; /** * * @TableName ncc_qilibc_tmprint_wms */ @TableName(value ="ncc_qilibc_tmprint_wms") @Data public class NccQilibcTmprintWms { /** * */ @TableId private String pkTmprint; /** * */ private String ts; private String printtime; /** * */ private String barcode; /** * */ private String wlbm; /** * */ private String vbatchcode; /** * */ private BigDecimal asnnum; /** * */ private String pkMaterial; /** * */ private BigDecimal nastnum; } src/main/java/com/zy/nc/entity/NccSaleXclGgsybWms.java
@@ -44,6 +44,11 @@ private String ck; /** * */ private String ckbm; /** * */ private String sssyb; src/main/java/com/zy/nc/mapper/NccJcQilibcBarcodeflowWmsMapper.java
@@ -5,9 +5,9 @@ /** * @author ZY * @description 针对表【ncc_jc_qilibc_barcodeflow_wms】的数据库操作Mapper * @description 针对表【ncc_qilibc_tmprint_wms】的数据库操作Mapper * @createDate 2025-05-13 17:50:58 * @Entity com.zy.nc.entity.NccJcQilibcBarcodeflowWms * @Entity com.zy.nc.entity.ncc_qilibc_tmprint_wms */ public interface NccJcQilibcBarcodeflowWmsMapper extends BaseMapper<NccJcQilibcBarcodeflowWms> { src/main/java/com/zy/nc/mapper/NccQilibcTmprintWmsMapper.java
New file @@ -0,0 +1,16 @@ package com.zy.nc.mapper; import com.baomidou.mybatisplus.mapper.BaseMapper; import com.zy.nc.entity.NccJcQilibcBarcodeflowWms; import com.zy.nc.entity.NccQilibcTmprintWms; /** * @author ZY * @description 针对表【ncc_jc_qilibc_barcodeflow_wms】的数据库操作Mapper * @createDate 2025-05-13 17:50:58 * @Entity com.zy.nc.entity.NccJcQilibcBarcodeflowWms */ public interface NccQilibcTmprintWmsMapper extends BaseMapper<NccQilibcTmprintWms> { } src/main/java/com/zy/nc/service/NccQilibcTmprintWmsService.java
New file @@ -0,0 +1,13 @@ package com.zy.nc.service; import com.baomidou.mybatisplus.service.IService; import com.zy.nc.entity.NccQilibcTmprintWms; /** * @author ZY * @description 针对表【ncc_qilibc_tmprint_wms】的数据库操作Service * @createDate 2025-05-08 09:54:48 */ public interface NccQilibcTmprintWmsService extends IService<NccQilibcTmprintWms> { } src/main/java/com/zy/nc/service/NccSaleXclGgsybWmsService.java
New file @@ -0,0 +1,14 @@ package com.zy.nc.service; import com.baomidou.mybatisplus.service.IService; import com.zy.nc.entity.NccQilibcTmprintWms; import com.zy.nc.entity.NccSaleXclGgsybWms; /** * @author ZY * @description 针对表【ncc_sale_xcl_ggsyb_wms】的数据库操作Service * @createDate 2025-05-08 09:54:48 */ public interface NccSaleXclGgsybWmsService extends IService<NccSaleXclGgsybWms> { } src/main/java/com/zy/nc/service/impl/NccQilibcTmprintWmsServiceImpl.java
New file @@ -0,0 +1,18 @@ package com.zy.nc.service.impl; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.zy.nc.entity.NccQilibcTmprintWms; import com.zy.nc.mapper.NccQilibcTmprintWmsMapper; import com.zy.nc.service.NccQilibcTmprintWmsService; import org.springframework.stereotype.Service; /** * @author ZY * @description 针对表【ncc_qilibc_tmprint_wms】的数据库操作Service实现 * @createDate 2025-05-08 09:54:48 */ @Service public class NccQilibcTmprintWmsServiceImpl extends ServiceImpl<NccQilibcTmprintWmsMapper, NccQilibcTmprintWms> implements NccQilibcTmprintWmsService { } src/main/java/com/zy/nc/service/impl/NccSaleXclGgsybWmsServiceImpl.java
New file @@ -0,0 +1,21 @@ package com.zy.nc.service.impl; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.zy.nc.entity.NccQilibcTmprintWms; import com.zy.nc.entity.NccSaleXclGgsybWms; import com.zy.nc.mapper.NccQilibcTmprintWmsMapper; import com.zy.nc.mapper.NccSaleXclGgsybWmsMapper; import com.zy.nc.service.NccQilibcTmprintWmsService; import com.zy.nc.service.NccSaleXclGgsybWmsService; import org.springframework.stereotype.Service; /** * @author ZY * @description 针对表【ncc_sale_xcl_ggsyb_wms】的数据库操作Service实现 * @createDate 2025-05-08 09:54:48 */ @Service public class NccSaleXclGgsybWmsServiceImpl extends ServiceImpl<NccSaleXclGgsybWmsMapper, NccSaleXclGgsybWms> implements NccSaleXclGgsybWmsService { } src/main/resources/mapper/nc/NccQilibcTmprintWmsMapper.xml
New file @@ -0,0 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.zy.nc.mapper.NccQilibcTmprintWmsMapper"> <resultMap id="BaseResultMap" type="com.zy.nc.entity.NccQilibcTmprintWms"> <id property="pkTmprint" column="PK_TMPRINT" /> <result property="ts" column="TS" /> <result property="printtime" column="PRINTTIME" /> <result property="barcode" column="BARCODE" /> <result property="wlbm" column="WLBM" /> <result property="vbatchcode" column="VBATCHCODE" /> <result property="asnnum" column="ASNNUM" /> <result property="pkMaterial" column="PK_MATERIAL" /> <result property="nastnum" column="NASTNUM" /> </resultMap> </mapper> src/main/resources/mapper/nc/NccSaleXclGgsybWmsMapper.xml
@@ -4,8 +4,44 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.zy.nc.mapper.NccSaleXclGgsybWmsMapper"> <resultMap id="BaseResultMap" type="com.zy.nc.entity.NccSaleXclGgsybWms"> <id property="pkOrg" column="PK_ORG" /> <result property="kczz" column="KCZZ" /> <result property="scrq" column="SCRQ" /> <result property="rkrq" column="RKRQ" /> <result property="wlbm" column="WLBM" /> <result property="cwarehouseid" column="CWAREHOUSEID" /> <result property="ck" column="CK" /> <result property="ckbm" column="CKBM" /> <result property="sssyb" column="SSSYB" /> <result property="wlbm" column="WLBM" /> <result property="wlmc" column="WLMC" /> <result property="gg" column="GG" /> <result property="xh" column="XH" /> <result property="wljc" column="WLJC" /> <result property="kf" column="KF" /> <result property="cunitid" column="CUNITID" /> <result property="zdw" column="ZDW" /> <result property="castunitid" column="CASTUNITID" /> <result property="fdw" column="FDW" /> <result property="cstateid" column="CSTATEID" /> <result property="kczt" column="KCZT" /> <result property="vbatchcode" column="VBATCHCODE" /> <result property="jt1" column="JT1" /> <result property="jt2" column="JT2" /> <result property="jt3" column="JT3" /> <result property="wlflbm" column="WLFLBM" /> <result property="wlflmc" column="WLFLMC" /> <result property="zsjflbm" column="ZSJFLBM" /> <result property="zsjflmc" column="ZSJFLMC" /> <result property="sjflbm" column="SJFLBM" /> <result property="sjflmc" column="SJFLMC" /> <result property="zsl" column="ZSL" /> <result property="fsl" column="FSL" /> <result property="clcj" column="CLCJ" /> <result property="wmsMemo" column="wms_memo" /> <result property="wmsFlag" column="wms_flag" /> </resultMap> </mapper>