diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/firstshelves/AppFirstShelvesDto.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/firstshelves/AppFirstShelvesDto.java new file mode 100644 index 0000000000..bb6f3784eb --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/firstshelves/AppFirstShelvesDto.java @@ -0,0 +1,17 @@ +package com.yxt.anrui.terminal.api.as.firstshelves; + +import com.yxt.common.core.dto.Dto; +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +public class AppFirstShelvesDto implements Dto { + + private String userSid; + private String orgPath; + + private List goodsList; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/firstshelves/AppFirstShelvesFeign.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/firstshelves/AppFirstShelvesFeign.java new file mode 100644 index 0000000000..50b3037c83 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/firstshelves/AppFirstShelvesFeign.java @@ -0,0 +1,35 @@ +package com.yxt.anrui.terminal.api.as.firstshelves; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +/** + * @Author + * @Date + * @Description + */ +@FeignClient( + contextId = "terminal-AppFirstShelves", + name = "anrui-terminal", + path = "v1/firstshelves") +public interface AppFirstShelvesFeign { + + @PostMapping("/list") + @ApiOperation("打印商品标签列表") + ResultBean list(@RequestBody PagerQuery pagerQuery); + + @ApiOperation("标签扫描") + @GetMapping("/scan") + @ResponseBody + public ResultBean scan(@RequestParam("content") String content, @RequestParam("type") String type, @RequestParam("orgPath") String orgPath); + + @ApiOperation("上架保存") + @PostMapping("/save") + @ResponseBody + public ResultBean save(@RequestBody AppFirstShelvesDto dto); + +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/firstshelves/AppFirstShelvesGoodsDto.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/firstshelves/AppFirstShelvesGoodsDto.java new file mode 100644 index 0000000000..cac816aa42 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/firstshelves/AppFirstShelvesGoodsDto.java @@ -0,0 +1,12 @@ +package com.yxt.anrui.terminal.api.as.firstshelves; + +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +@Data +public class AppFirstShelvesGoodsDto implements Dto { + + private String goodsID; + private String houseCode; + private String count; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/firstshelves/AppFirstShelvesGoodsVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/firstshelves/AppFirstShelvesGoodsVo.java new file mode 100644 index 0000000000..6c3a5d4d14 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/firstshelves/AppFirstShelvesGoodsVo.java @@ -0,0 +1,32 @@ +package com.yxt.anrui.terminal.api.as.firstshelves; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class AppFirstShelvesGoodsVo implements Vo { + + private String sid; + /** + * 商品名称 + */ + private String name; + /** + * 商品id + */ + private String _id; + /** + * 数量 + */ + private BigDecimal num; + /** + * 单位 + */ + private String unit; + /** + * 规格 + */ + private String specs; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/firstshelves/AppFirstShelvesQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/firstshelves/AppFirstShelvesQuery.java new file mode 100644 index 0000000000..9bcf5c57c5 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/firstshelves/AppFirstShelvesQuery.java @@ -0,0 +1,13 @@ +package com.yxt.anrui.terminal.api.as.firstshelves; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +@Data +public class AppFirstShelvesQuery implements Query { + + private String menuSid; + private String userSid; + private String orgPath; + private String name; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/firstshelves/AppFirstShelvesScanVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/firstshelves/AppFirstShelvesScanVo.java new file mode 100644 index 0000000000..f616e612b6 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/firstshelves/AppFirstShelvesScanVo.java @@ -0,0 +1,26 @@ +package com.yxt.anrui.terminal.api.as.firstshelves; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class AppFirstShelvesScanVo implements Vo { + + @ApiModelProperty("0商品码,1库位码") + private String type; + @ApiModelProperty("商品名称") + private String goodsName; + @ApiModelProperty("商品id") + private String goodsID; + @ApiModelProperty("商品最大可上架数量") + private String goodsMax; + @ApiModelProperty("库位码") + private String houseCode; + @ApiModelProperty("库区名+库位名") + private String houseName; + @ApiModelProperty("仓库地址") + private String houseAddress; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/firstshelves/AppFirstShelvesVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/firstshelves/AppFirstShelvesVo.java new file mode 100644 index 0000000000..4c7a8495a0 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/firstshelves/AppFirstShelvesVo.java @@ -0,0 +1,13 @@ +package com.yxt.anrui.terminal.api.as.firstshelves; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +import java.util.List; + +@Data +public class AppFirstShelvesVo implements Vo { + + private Integer pages = 1; + private List goods; +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/TerminalApplication.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/TerminalApplication.java index 5669b95d4e..da135d3cc3 100644 --- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/TerminalApplication.java +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/TerminalApplication.java @@ -15,7 +15,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients; "com.yxt.anrui.terminal", "com.yxt.common.base.config" },exclude = {DataSourceAutoConfiguration.class}) -@EnableFeignClients(basePackages = {"com.yxt.anrui.portal", "com.yxt.anrui.crm", "com.yxt.anrui.base", "com.yxt.anrui.riskcenter","com.yxt.anrui.flowable","com.yxt.anrui.buscenter","com.yxt.anrui.scm","com.yxt.anrui.fin", "com.yxt.anrui.terminal.fegin.wmsinventorycheckbill","com.yxt.anrui.terminal.fegin.wmsinventoryprofitin","com.yxt.anrui.terminal.fegin.wmsinventoryprofitout","com.yxt.anrui.terminal.fegin.basegoodssku","com.yxt.anrui.terminal.fegin.basesupplierinfo","com.yxt.anrui.terminal.fegin.wmsInventory","com.yxt.anrui.terminal.fegin.asbusrepairbill","com.yxt.anrui.terminal.fegin.pmspurchasebill","com.yxt.anrui.terminal.fegin.pmspurchasebackbill","com.yxt.anrui.terminal.fegin.smspricestrategybill","com.yxt.anrui.terminal.fegin.astechtitleapply","com.yxt.anrui.terminal.fegin.asserviceaccommapply","com.yxt.anrui.terminal.fegin.asbusclaiminvoicebill","com.yxt.anrui.terminal.fegin.wmsinventoryallocatebill","com.yxt.anrui.terminal.fegin.asoldpartreturnapply","com.yxt.anrui.terminal.fegin.asoldparthandleapply","com.yxt.anrui.terminal.fegin.asbwdiffapply","com.yxt.anrui.terminal.fegin.asbwinvoiceapply","com.yxt.anrui.terminal.fegin.ashosesuppapply","com.yxt.anrui.terminal.fegin.asbusclaimcheckapply","com.yxt.anrui.terminal.fegin.asoldparts","com.yxt.anrui.terminal.fegin.wmsoldregister","com.yxt.anrui.terminal.fegin.asbusrepairinventorybill","com.yxt.anrui.terminal.fegin.wmsoldinventory","com.yxt.anrui.terminal.fegin.wmswarehouserack","com.yxt.anrui.terminal.fegin.asbusrepairinventorybilldetail","com.yxt.anrui.terminal.fegin.wmsinventoryrecord","com.yxt.anrui.terminal.fegin.asstandrecordapply","com.yxt.anrui.terminal.fegin.wmsotheroutapply","com.yxt.anrui.terminal.fegin.oaleaveapply","com.yxt.anrui.terminal.fegin.oamendapply"}) +@EnableFeignClients(basePackages = {"com.yxt.anrui.portal", "com.yxt.anrui.crm", "com.yxt.anrui.base", "com.yxt.anrui.riskcenter","com.yxt.anrui.flowable","com.yxt.anrui.buscenter","com.yxt.anrui.scm","com.yxt.anrui.fin", "com.yxt.anrui.terminal.fegin.wmsinventorycheckbill","com.yxt.anrui.terminal.fegin.wmsinventoryprofitin","com.yxt.anrui.terminal.fegin.wmsinventoryprofitout","com.yxt.anrui.terminal.fegin.basegoodssku","com.yxt.anrui.terminal.fegin.basesupplierinfo","com.yxt.anrui.terminal.fegin.wmsInventory","com.yxt.anrui.terminal.fegin.asbusrepairbill","com.yxt.anrui.terminal.fegin.pmspurchasebill","com.yxt.anrui.terminal.fegin.pmspurchasebackbill","com.yxt.anrui.terminal.fegin.smspricestrategybill","com.yxt.anrui.terminal.fegin.astechtitleapply","com.yxt.anrui.terminal.fegin.asserviceaccommapply","com.yxt.anrui.terminal.fegin.asbusclaiminvoicebill","com.yxt.anrui.terminal.fegin.wmsinventoryallocatebill","com.yxt.anrui.terminal.fegin.asoldpartreturnapply","com.yxt.anrui.terminal.fegin.asoldparthandleapply","com.yxt.anrui.terminal.fegin.asbwdiffapply","com.yxt.anrui.terminal.fegin.asbwinvoiceapply","com.yxt.anrui.terminal.fegin.ashosesuppapply","com.yxt.anrui.terminal.fegin.asbusclaimcheckapply","com.yxt.anrui.terminal.fegin.asoldparts","com.yxt.anrui.terminal.fegin.wmsoldregister","com.yxt.anrui.terminal.fegin.asbusrepairinventorybill","com.yxt.anrui.terminal.fegin.wmsoldinventory","com.yxt.anrui.terminal.fegin.wmswarehouserack","com.yxt.anrui.terminal.fegin.asbusrepairinventorybilldetail","com.yxt.anrui.terminal.fegin.wmsinventoryrecord","com.yxt.anrui.terminal.fegin.asstandrecordapply","com.yxt.anrui.terminal.fegin.wmsotheroutapply","com.yxt.anrui.terminal.fegin.oaleaveapply","com.yxt.anrui.terminal.fegin.oamendapply","com.yxt.anrui.terminal.fegin.wmsgoodstag","com.yxt.anrui.terminal.fegin.wmsinitialdetail"}) public class TerminalApplication { public static void main(String[] args) { diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/firstshelves/AppFirstShelvesRest.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/firstshelves/AppFirstShelvesRest.java new file mode 100644 index 0000000000..6cc23fa27b --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/firstshelves/AppFirstShelvesRest.java @@ -0,0 +1,57 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.biz.as.firstshelves; + +import com.yxt.anrui.terminal.api.as.firstshelves.*; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("v1/firstshelves") +public class AppFirstShelvesRest implements AppFirstShelvesFeign { + + @Autowired + private AppFirstShelvesService appFirstShelvesService; + + @Override + public ResultBean list(PagerQuery pagerQuery) { + return appFirstShelvesService.list(pagerQuery); + } + + @Override + public ResultBean scan(String content, String type, String orgPath) { + return appFirstShelvesService.scan(content, type, orgPath); + } + + @Override + public ResultBean save(AppFirstShelvesDto dto) { + return appFirstShelvesService.save(dto); + } +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/firstshelves/AppFirstShelvesService.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/firstshelves/AppFirstShelvesService.java new file mode 100644 index 0000000000..cc4e56b342 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/firstshelves/AppFirstShelvesService.java @@ -0,0 +1,166 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.biz.as.firstshelves; + +import cn.hutool.core.date.DateUtil; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; +import com.yxt.anrui.terminal.api.as.firstshelves.*; +import com.yxt.anrui.terminal.fegin.wmsInventory.WmsInventoryFeign; +import com.yxt.anrui.terminal.fegin.wmsInventory.WmsInventorySaveDto; +import com.yxt.anrui.terminal.fegin.wmsgoodstag.GoodsTagListQuery; +import com.yxt.anrui.terminal.fegin.wmsgoodstag.WmsGoodsTag; +import com.yxt.anrui.terminal.fegin.wmsgoodstag.WmsGoodsTagFeign; +import com.yxt.anrui.terminal.fegin.wmsinitialdetail.WmsInitialDetailFeign; +import com.yxt.anrui.terminal.fegin.wmsinitialdetail.WmsInitialDetailVo; +import com.yxt.anrui.terminal.fegin.wmswarehouserack.WmsHouseInfoVo; +import com.yxt.anrui.terminal.fegin.wmswarehouserack.WmsWarehouseRackFeign; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; + +@Service +public class AppFirstShelvesService { + + @Resource + private WmsGoodsTagFeign wmsGoodsTagFeign; + @Resource + private WmsInitialDetailFeign wmsInitialDetailFeign; + @Resource + private WmsWarehouseRackFeign wmsWarehouseRackFeign; + @Resource + private WmsInventoryFeign wmsInventoryFeign; + @Autowired + private SysStaffOrgFeign sysStaffOrgFeign; + + public ResultBean list(PagerQuery pagerQuery) { + ResultBean rb = ResultBean.fireFail(); + PagerQuery pagerQuery1 = new PagerQuery<>(); + GoodsTagListQuery params = new GoodsTagListQuery(); + AppFirstShelvesQuery params1 = pagerQuery.getParams(); + params.setUserSid(params1.getUserSid()); + params.setOrgPath(params1.getOrgPath()); + params.setMenuSid(params1.getMenuSid()); + params.setName(params1.getName()); + pagerQuery1.setParams(params); + pagerQuery1.setSize(1000); + PagerVo data = wmsGoodsTagFeign.goodsTagList(pagerQuery1).getData(); + AppFirstShelvesVo appFirstShelvesVo = new AppFirstShelvesVo(); + List goods = new ArrayList<>(); + List list = data.getRecords(); + for (WmsGoodsTag wmsGoodsTag : list) { + AppFirstShelvesGoodsVo appFirstShelvesGoodsVo = new AppFirstShelvesGoodsVo(); + appFirstShelvesGoodsVo.setSid(wmsGoodsTag.getSid()); + appFirstShelvesGoodsVo.setName(wmsGoodsTag.getGoodsSkuTitle()); + appFirstShelvesGoodsVo.set_id(wmsGoodsTag.getGoodsID()); + appFirstShelvesGoodsVo.setNum(wmsGoodsTag.getGoodsCount()); + appFirstShelvesGoodsVo.setUnit(wmsGoodsTag.getUnit()); + appFirstShelvesGoodsVo.setSpecs(wmsGoodsTag.getGoodsSkuOwnSpec()); + goods.add(appFirstShelvesGoodsVo); + } + appFirstShelvesVo.setGoods(goods); + return rb.success().setData(appFirstShelvesVo); + } + + public ResultBean scan(String content, String type, String orgPath) { + ResultBean rb = ResultBean.fireFail(); + AppFirstShelvesScanVo appFirstShelvesScanVo = new AppFirstShelvesScanVo(); + if ("0".equals(type)) {//商品码 + if (content.contains("#")) { + return rb.setMsg("请扫描商品码"); + } + WmsInitialDetailVo wmsInitialDetailVo = wmsInitialDetailFeign.selByGoodsID(content).getData(); + if (wmsInitialDetailVo == null){ + return rb.setMsg("该商品不属于期初上架"); + } + BigDecimal count = new BigDecimal(wmsInventoryFeign.selCountByGoodsID(content).getData()); + BigDecimal chae = wmsInitialDetailVo.getNum().subtract(count); + appFirstShelvesScanVo.setType(type); + appFirstShelvesScanVo.setGoodsID(content); + appFirstShelvesScanVo.setGoodsName(wmsInitialDetailVo.getGoodsSpuName()); + appFirstShelvesScanVo.setGoodsMax(chae.setScale(0,BigDecimal.ROUND_DOWN).toString()); + } else if ("1".equals(type)) {//库位码 + if (!content.contains("#")) { + return rb.setMsg("请扫描库位码"); + } + String[] split = content.split("#"); + String houseCode = split[0]; + ResultBean wmsHouseInfoVoResultBean = wmsWarehouseRackFeign.selHouseInfoByFullCode(houseCode); + if (wmsHouseInfoVoResultBean.getSuccess()) { + WmsHouseInfoVo houseInfoVo = wmsHouseInfoVoResultBean.getData(); + if (null != houseInfoVo) { + String houseName = ""; + String areaName = ""; + String rackName = ""; + String zoneName = ""; + if (StringUtils.isNotBlank(houseInfoVo.getWarehouseName())) { + houseName = houseInfoVo.getWarehouseName(); + } + if (StringUtils.isNotBlank(houseInfoVo.getWareAreaName())) { + areaName = houseInfoVo.getWareAreaName(); + } + if (StringUtils.isNotBlank(houseInfoVo.getWarehouseRackName())) { + rackName = houseInfoVo.getWarehouseRackName(); + } + if (StringUtils.isNotBlank(houseInfoVo.getWarehouseZoneName())) { + zoneName = houseInfoVo.getWarehouseZoneName(); + } + appFirstShelvesScanVo.setHouseName(houseName + "-" + zoneName + "-" + areaName); + appFirstShelvesScanVo.setHouseAddress(houseInfoVo.getWarehouseRackCode()); + appFirstShelvesScanVo.setHouseCode(houseCode); + appFirstShelvesScanVo.setType(type); + } else { + return rb.setMsg("扫描库位码为空"); + } + } + } + return rb.success().setData(appFirstShelvesScanVo); + } + + public ResultBean save(AppFirstShelvesDto dto) { + ResultBean rb = ResultBean.fireFail(); + List goodsList = dto.getGoodsList(); + WmsInventorySaveDto wmsInventorySaveDto = new WmsInventorySaveDto(); + wmsInventorySaveDto.setCreateBySid(dto.getUserSid()); + String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()).getData(); + wmsInventorySaveDto.setCreateOrgSid(useOrgSid); + wmsInventorySaveDto.setUseOrgSid(useOrgSid); + wmsInventorySaveDto.setFirstInDate(DateUtil.today()); + for (AppFirstShelvesGoodsDto appFirstShelvesGoodsDto : goodsList) { + wmsInventorySaveDto.setGoodsID(appFirstShelvesGoodsDto.getGoodsID()); + wmsInventorySaveDto.setWarehouseRackCode(appFirstShelvesGoodsDto.getHouseCode()); + wmsInventorySaveDto.setCount(appFirstShelvesGoodsDto.getCount()); + wmsInventoryFeign.saveWmsInventory(wmsInventorySaveDto).getData(); + } + return rb.success(); + } +} \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsInventory/WmsInventoryFeign.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsInventory/WmsInventoryFeign.java index 603c088c1a..cc341ac9ab 100644 --- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsInventory/WmsInventoryFeign.java +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsInventory/WmsInventoryFeign.java @@ -31,4 +31,12 @@ public interface WmsInventoryFeign { @ApiOperation("app旧件库存查询") @PostMapping("/appOldStorage") public ResultBean> appOldStorage(@RequestBody PagerQuery pq); + + @ApiOperation("根据商品ID查询库存数量") + @PostMapping("/selCountByGoodsID") + public ResultBean selCountByGoodsID(@RequestParam("goodsID") String goodsID); + + @ApiOperation("保存商品库存") + @PostMapping("/saveWmsInventory") + ResultBean saveWmsInventory(@RequestBody WmsInventorySaveDto dto); } diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsInventory/WmsInventorySaveDto.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsInventory/WmsInventorySaveDto.java new file mode 100644 index 0000000000..56b7c0d883 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsInventory/WmsInventorySaveDto.java @@ -0,0 +1,61 @@ +package com.yxt.anrui.terminal.fegin.wmsInventory; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/4/19 + **/ +@Data +public class WmsInventorySaveDto { + + private String sid; + @ApiModelProperty("创建者sid") + private String createBySid; + @ApiModelProperty("批次号(入库日期+生产日期,如240320-240109)") + private String batchNumber; + @ApiModelProperty("商品ID(唯一编码,入库时生成,生成规则为商品编码+YYMMdd+4位流水)") + private String goodsID; + @ApiModelProperty("商品基础信息sid") + private String goodsSpuSid; + @ApiModelProperty("商品名称") + private String goodsSpuName; + @ApiModelProperty("商品Skusid") + private String goodsSkuSid; + @ApiModelProperty("商品Sku名称") + private String goodsSkuTitle; + @ApiModelProperty("商品编码") + private String goodsSkuCode; + @ApiModelProperty("规格型号") + private String goodsSkuOwnSpec; + @ApiModelProperty("计量单位") + private String unit; + @ApiModelProperty("现有量") + private String count; + @ApiModelProperty("分配量") + private String allocateCount; + @ApiModelProperty("拣货量") + private String pickCount; + @ApiModelProperty("冻结量") + private String freezeCount; + @ApiModelProperty("仓库sid") + private String warehouseSid; + @ApiModelProperty("仓库名称") + private String warehouseName; + @ApiModelProperty("库位sid") + private String warehouseRackSid; + @ApiModelProperty("库位编码") + private String warehouseRackCode; + @ApiModelProperty("厂家sid") + private String manufacturerSid; + @ApiModelProperty("厂家名称") + private String manufacturerName; + @ApiModelProperty("首次入库日期") + private String firstInDate; + @ApiModelProperty("创建组织sid") + private String createOrgSid; + @ApiModelProperty("使用组织sid") + private String useOrgSid; +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsgoodstag/GoodsTagListQuery.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsgoodstag/GoodsTagListQuery.java new file mode 100644 index 0000000000..702b7fc802 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsgoodstag/GoodsTagListQuery.java @@ -0,0 +1,18 @@ +package com.yxt.anrui.terminal.fegin.wmsgoodstag; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/6/24 15:02 + */ +@Data +public class GoodsTagListQuery implements Query { + + private String menuSid; + private String userSid; + private String orgPath; + private String name; +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsgoodstag/WmsGoodsTag.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsgoodstag/WmsGoodsTag.java new file mode 100644 index 0000000000..a02e8e7f2f --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsgoodstag/WmsGoodsTag.java @@ -0,0 +1,45 @@ +package com.yxt.anrui.terminal.fegin.wmsgoodstag; + +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @author Fan + * @description + * @date 2024/5/30 13:36 + */ +@Data +public class WmsGoodsTag extends BaseEntity { + @ApiModelProperty("单据sid(收货单sid)") + private String billSid; + @ApiModelProperty("单据明细sid") + private String billDetailSid; + @ApiModelProperty("批次号(入库日期+有效日期,如240320-241009)") + private String batchNumber; + @ApiModelProperty("商品ID") + private String goodsID; + @ApiModelProperty("商品基础信息sid") + private String goodsSpuSid; + @ApiModelProperty("商品名称") + private String goodsSpuName; + @ApiModelProperty("商品Skusid") + private String goodsSkuSid; + @ApiModelProperty("商品Sku名称") + private String goodsSkuTitle; + @ApiModelProperty("商品编码(图号)") + private String goodsSkuCode; + @ApiModelProperty("规格型号") + private String goodsSkuOwnSpec; + @ApiModelProperty("计量单位") + private String unit; + @ApiModelProperty("数量") + private BigDecimal goodsCount; + @ApiModelProperty("标签图片地址") + private String tagPicUrl; + @ApiModelProperty("打印次数") + private Integer printCount; + +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsgoodstag/WmsGoodsTagFeign.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsgoodstag/WmsGoodsTagFeign.java new file mode 100644 index 0000000000..194112801b --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsgoodstag/WmsGoodsTagFeign.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.terminal.fegin.wmsgoodstag; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +/** + * @Author + * @Date + * @Description + */ +@FeignClient( + contextId = "terminal-WmsGoodsTag", + name = "yxt-wms", + path = "/apiadmin/WmsTagPrint") +public interface WmsGoodsTagFeign { + + @PostMapping("goodsTagList") + @ApiOperation("商品标签列表") + ResultBean> goodsTagList(@RequestBody PagerQuery pagerQuery); +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsinitialdetail/WmsInitialDetailFeign.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsinitialdetail/WmsInitialDetailFeign.java new file mode 100644 index 0000000000..1128dafbda --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsinitialdetail/WmsInitialDetailFeign.java @@ -0,0 +1,27 @@ +package com.yxt.anrui.terminal.fegin.wmsinitialdetail; + +import com.yxt.anrui.terminal.fegin.wmsoldinventory.WmsOldGroundConfirmApp; +import com.yxt.common.core.result.ResultBean; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +/** + * @Author + * @Date + * @Description + */ +@FeignClient( + contextId = "terminal-WmsInitialDetail", + name = "yxt-wms", + path = "v1/wmsinitialdetail") +public interface WmsInitialDetailFeign { + + @PostMapping("/selByGoodsID") + @ResponseBody + @ApiOperation(value = "根据商品ID查询") + public ResultBean selByGoodsID(@RequestParam("goodsID") String goodsID); +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsinitialdetail/WmsInitialDetailVo.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsinitialdetail/WmsInitialDetailVo.java new file mode 100644 index 0000000000..2c010cf23b --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsinitialdetail/WmsInitialDetailVo.java @@ -0,0 +1,76 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.fegin.wmsinitialdetail; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +@ApiModel(value = "期初上架-明细 视图数据对象", description = "期初上架-明细 视图数据对象") +public class WmsInitialDetailVo implements Vo { + + private String sid; + + @ApiModelProperty("商品spu名称") + private String goodsSpuName; + @ApiModelProperty("图号") + private String goodsSkuCode; + @ApiModelProperty("规格型号") + private String goodsSkuOwnSpec; + @ApiModelProperty("单位") + private String unit; + @ApiModelProperty("数量") + private BigDecimal num; + @ApiModelProperty("品牌名称") + private String brandName; + @ApiModelProperty("厂家名称") + private String manufacturerName; + @ApiModelProperty("供应商名称") + private String supplierName; + @ApiModelProperty("销售指导价") + private BigDecimal saleGuidePrice; + @ApiModelProperty("入库单价") + private BigDecimal inCost; + @ApiModelProperty("税率") + private String taxRate; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @ApiModelProperty("首次入库日期") + private Date firstInDate; + @ApiModelProperty("商品类别名称") + private String goodsTypeName; + @ApiModelProperty("已上架数量") + private BigDecimal listNum; + @ApiModelProperty("是否为一物一码") + private Integer isYwym; + @ApiModelProperty("是否已上传商品标签") + private Integer isScbq; +} diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/astechtitleapply/AsTechTitleApplyRest.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/astechtitleapply/AsTechTitleApplyRest.java index 0af4b30688..72932a18f2 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/astechtitleapply/AsTechTitleApplyRest.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/astechtitleapply/AsTechTitleApplyRest.java @@ -64,94 +64,94 @@ import java.util.List; @RequestMapping("v1/astechtitleapply") public class AsTechTitleApplyRest { - @Autowired - private AsTechTitleApplyService asTechTitleApplyService; - - @ApiOperation("根据条件分页查询数据的列表") - @PostMapping("/listPage") - public ResultBean> listPage(@RequestBody PagerQuery pq){ - ResultBean rb = ResultBean.fireFail(); - PagerVo pv = asTechTitleApplyService.listPageVo(pq); - return rb.success().setData(pv); - } - - @ApiOperation("新增或修改") - @PostMapping("/save") - public ResultBean save(@RequestBody AsTechTitleApplyDto dto){ - return asTechTitleApplyService.saveOrUpdateDto(dto); - } - - @ApiOperation("根据sid批量删除") + @Autowired + private AsTechTitleApplyService asTechTitleApplyService; + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = asTechTitleApplyService.listPageVo(pq); + return rb.success().setData(pv); + } + + @ApiOperation("新增或修改") + @PostMapping("/save") + public ResultBean save(@RequestBody AsTechTitleApplyDto dto) { + return asTechTitleApplyService.saveOrUpdateDto(dto); + } + + @ApiOperation("根据sid批量删除") @DeleteMapping("/delBySids") - public ResultBean delBySids(@RequestBody String[] sids){ - return asTechTitleApplyService.delAll(sids); - } + public ResultBean delBySids(@RequestBody String[] sids) { + return asTechTitleApplyService.delAll(sids); + } - @ApiOperation("根据SID获取一条记录") + @ApiOperation("根据SID获取一条记录") @GetMapping("/fetchDetailsBySid/{sid}") - public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){ - ResultBean rb = ResultBean.fireFail(); - AsTechTitleApplyDetailsVo vo = asTechTitleApplyService.fetchDetailsVoBySid(sid); - return rb.success().setData(vo); - } - - @ApiOperation("初始化") - @PostMapping("/init") - public ResultBean init(@RequestBody String[] techSids){ - ResultBean rb = ResultBean.fireFail(); - AsTechTitleApplyDetailsVo vo = asTechTitleApplyService.init(techSids); - return rb.success().setData(vo); - } - - @ApiOperation("提交") - @PostMapping("/submitApply") - public ResultBean submitApply(@Valid @RequestBody SubmitTechTitleApplyDto dto) { - return asTechTitleApplyService.submitApply(dto); - } - - @ApiOperation(value = "办理(同意)") - @PostMapping("/complete") - public ResultBean complete(@Valid @RequestBody CompleteTechTitleApplyDto query) { - BusinessVariables bv = new BusinessVariables(); - BeanUtil.copyProperties(query, bv); - bv.setModelId(""); - return asTechTitleApplyService.complete(bv); - } - - @ApiOperation(value = "获取上一个环节") - @GetMapping(value = "/getPreviousNodesForReject") - ResultBean> getPreviousNodesForReject(@Valid @SpringQueryMap TechTitleApplyNodeQuery query) { - return asTechTitleApplyService.getPreviousNodesForReject(query); - } - - @ApiOperation(value = "获取下一个环节") - @GetMapping(value = "/getNextNodesForSubmit") - ResultBean> getNextNodesForSubmit(@Valid @SpringQueryMap TechTitleApplyNodeQuery query) { - return asTechTitleApplyService.getNextNodesForSubmit(query); - } - - @ApiOperation(value = "驳回任务") - @PostMapping(value = "/reject") - public ResultBean taskReject(@Valid @RequestBody TechTitleApplyTaskQuery query) { - return asTechTitleApplyService.taskReject(query); - } - - @ApiOperation(value = "撤回流程") - @PostMapping(value = "/revokeProcess") - public ResultBean revokeProcess(@Valid @RequestBody TechTitleApplyTaskQuery query) { - return asTechTitleApplyService.revokeProcess(query); - } - - @ApiOperation(value = "终止任务") - @PostMapping(value = "/breakProcess") - public ResultBean breakProcess(@Valid @RequestBody TechTitleApplyTaskQuery query) { - return asTechTitleApplyService.breakProcess(query); - } - - @ApiOperation(value = "加签") - @PostMapping(value = "/delegate") - @ResponseBody - public ResultBean delegate(@RequestBody TechTitleApplyDelegateQuery query) { - return asTechTitleApplyService.delegate(query); - } + public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid) { + ResultBean rb = ResultBean.fireFail(); + AsTechTitleApplyDetailsVo vo = asTechTitleApplyService.fetchDetailsVoBySid(sid); + return rb.success().setData(vo); + } + + @ApiOperation("初始化") + @PostMapping("/init") + public ResultBean init(@RequestBody String[] techSids) { + ResultBean rb = ResultBean.fireFail(); + AsTechTitleApplyDetailsVo vo = asTechTitleApplyService.init(techSids); + return rb.success().setData(vo); + } + + @ApiOperation("提交") + @PostMapping("/submitApply") + public ResultBean submitApply(@Valid @RequestBody SubmitTechTitleApplyDto dto) { + return asTechTitleApplyService.submitApply(dto); + } + + @ApiOperation(value = "办理(同意)") + @PostMapping("/complete") + public ResultBean complete(@Valid @RequestBody CompleteTechTitleApplyDto query) { + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + bv.setModelId(""); + return asTechTitleApplyService.complete(bv); + } + + @ApiOperation(value = "获取上一个环节") + @GetMapping(value = "/getPreviousNodesForReject") + ResultBean> getPreviousNodesForReject(@Valid @SpringQueryMap TechTitleApplyNodeQuery query) { + return asTechTitleApplyService.getPreviousNodesForReject(query); + } + + @ApiOperation(value = "获取下一个环节") + @GetMapping(value = "/getNextNodesForSubmit") + ResultBean> getNextNodesForSubmit(@Valid @SpringQueryMap TechTitleApplyNodeQuery query) { + return asTechTitleApplyService.getNextNodesForSubmit(query); + } + + @ApiOperation(value = "驳回任务") + @PostMapping(value = "/reject") + public ResultBean taskReject(@Valid @RequestBody TechTitleApplyTaskQuery query) { + return asTechTitleApplyService.taskReject(query); + } + + @ApiOperation(value = "撤回流程") + @PostMapping(value = "/revokeProcess") + public ResultBean revokeProcess(@Valid @RequestBody TechTitleApplyTaskQuery query) { + return asTechTitleApplyService.revokeProcess(query); + } + + @ApiOperation(value = "终止任务") + @PostMapping(value = "/breakProcess") + public ResultBean breakProcess(@Valid @RequestBody TechTitleApplyTaskQuery query) { + return asTechTitleApplyService.breakProcess(query); + } + + @ApiOperation(value = "加签") + @PostMapping(value = "/delegate") + @ResponseBody + public ResultBean delegate(@RequestBody TechTitleApplyDelegateQuery query) { + return asTechTitleApplyService.delegate(query); + } } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsGoodsTagRest.java b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsGoodsTagRest.java index 63556ea65f..3c3db72a36 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsGoodsTagRest.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsGoodsTagRest.java @@ -28,6 +28,14 @@ public class WmsGoodsTagRest { @Autowired private WmsGoodsTagService wmsWmsGoodsTagService; + @PostMapping("goodsTagList") + @ApiOperation("商品标签列表") + ResultBean> goodsTagList(@RequestBody PagerQuery pagerQuery) { + ResultBean> rb = ResultBean.fireFail(); + PagerVo pv = wmsWmsGoodsTagService.goodsTagList(pagerQuery); + return rb.success().setData(pv); + } + @PostMapping("goodsList") @ApiOperation("商品标签列表") ResultBean> goodsList(@RequestBody PagerQuery pagerQuery) { diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInitialRest.java b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInitialRest.java index 7267049ed0..07a11c6238 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInitialRest.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInitialRest.java @@ -25,7 +25,6 @@ *********************************************************/ package com.yxt.wms.apiadmin.inventroy; -import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; import com.yxt.common.core.result.ResultBean; import com.yxt.wms.biz.inventory.wmsinitial.ReturnExcelInfo; @@ -34,15 +33,14 @@ import com.yxt.wms.biz.inventory.wmsinitial.WmsInitialExcelInfo; import com.yxt.wms.biz.inventory.wmsinitial.WmsInitialService; import com.yxt.wms.biz.inventory.wmsinitialdetail.WmsInitialDetail; import com.yxt.wms.biz.inventory.wmsinitialdetail.WmsInitialDetailService; +import com.yxt.wms.biz.inventory.wmsinitialdetail.WmsInitialDetailVo; import com.yxt.wms.feign.base.basegoodspu.BaseGoodsSpuFeign; -import com.yxt.wms.feign.base.basegoodssku.BaseGoodsSkuDetailsVo; import com.yxt.wms.feign.base.basegoodssku.BaseGoodsSkuFeign; import com.yxt.wms.feign.portal.sysorganization.SysOrganizationFeign; import com.yxt.wms.feign.portal.sysorganization.SysOrganizationVo; import com.yxt.wms.feign.portal.sysstafforg.SysStaffOrgFeign; import com.yxt.wms.feign.portal.sysuser.SysUserFeign; import com.yxt.wms.feign.portal.sysuser.SysUserVo; -import com.yxt.wms.utils.Rule; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; @@ -81,8 +79,6 @@ public class WmsInitialRest { private WmsInitialService wmsInitialService; @Autowired private WmsInitialDetailService wmsInitialDetailService; - @Resource - private BaseGoodsSkuFeign baseGoodsSkuFeign; @PostMapping("/getExcelInfo") @ResponseBody @@ -144,78 +140,42 @@ public class WmsInitialRest { System.out.println("结果是--->" + resultList); try { for (WmsInitialExcelInfo wmsInitialExcelInfo : resultList) { - if ("是".equals(wmsInitialExcelInfo.getIsYwym())) { - int num = new BigDecimal(wmsInitialExcelInfo.getNum()).intValue(); - for (int i = 0; i < num; i++) { - WmsInitialDetail wmsInitialDetail = new WmsInitialDetail(); - wmsInitialDetail.setCreateBySid(userSid); - wmsInitialDetail.setBillSid(wmsInitial.getSid()); - wmsInitialDetail.setGoodsID(getGoodsId(wmsInitialExcelInfo.getGoodsSkuSid())); - wmsInitialDetail.setGoodsSpuSid(wmsInitialExcelInfo.getGoodsSpuSid()); - wmsInitialDetail.setGoodsSpuName(wmsInitialExcelInfo.getGoodsSpuName()); - wmsInitialDetail.setGoodsSkuSid(wmsInitialExcelInfo.getGoodsSkuSid()); - wmsInitialDetail.setGoodsSkuTitle(wmsInitialExcelInfo.getGoodsSkuTitle()); - wmsInitialDetail.setGoodsSkuCode(wmsInitialExcelInfo.getGoodsSkuCode()); - wmsInitialDetail.setGoodsSkuOwnSpec(wmsInitialExcelInfo.getGoodsSkuOwnSpec()); - wmsInitialDetail.setUnit(wmsInitialExcelInfo.getUnit()); - wmsInitialDetail.setNum(new BigDecimal("1")); - wmsInitialDetail.setBrandSid(wmsInitialExcelInfo.getBrandSid()); - wmsInitialDetail.setBrandName(wmsInitialExcelInfo.getBrandName()); - wmsInitialDetail.setManufacturerSid(wmsInitialExcelInfo.getManufacturerSid()); - wmsInitialDetail.setManufacturerName(wmsInitialExcelInfo.getManufacturerName()); - wmsInitialDetail.setSupplierName(wmsInitialExcelInfo.getSupplierName()); - wmsInitialDetail.setSaleGuidePrice(new BigDecimal(wmsInitialExcelInfo.getSaleGuidePrice())); - wmsInitialDetail.setInCost(new BigDecimal(wmsInitialExcelInfo.getInCost())); - wmsInitialDetail.setTaxRate(wmsInitialExcelInfo.getTaxRate()); - String firstInDate = ""; - if (isNumber(wmsInitialExcelInfo.getFirstInDate())) { - Date javaDate = new Date((long) ((Double.valueOf(wmsInitialExcelInfo.getFirstInDate()) - 25569) * 86400 * 1000)); - firstInDate = DateUtil.formatDate(javaDate); - } else { - firstInDate = wmsInitialExcelInfo.getFirstInDate(); - } - wmsInitialDetail.setFirstInDate(DateUtil.parseDate(firstInDate)); - wmsInitialDetail.setGoodsTypeSid(wmsInitialExcelInfo.getGoodsTypeSid()); - wmsInitialDetail.setGoodsTypeCode(wmsInitialExcelInfo.getGoodsTypeCode()); - wmsInitialDetail.setGoodsTypeName(wmsInitialExcelInfo.getGoodsTypeName()); - wmsInitialDetail.setIsYwym(1); - wmsInitialDetailService.save(wmsInitialDetail); - } + WmsInitialDetail wmsInitialDetail = new WmsInitialDetail(); + wmsInitialDetail.setCreateBySid(userSid); + wmsInitialDetail.setBillSid(wmsInitial.getSid()); + wmsInitialDetail.setGoodsSpuSid(wmsInitialExcelInfo.getGoodsSpuSid()); + wmsInitialDetail.setGoodsSpuName(wmsInitialExcelInfo.getGoodsSpuName()); + wmsInitialDetail.setGoodsSkuSid(wmsInitialExcelInfo.getGoodsSkuSid()); + wmsInitialDetail.setGoodsSkuTitle(wmsInitialExcelInfo.getGoodsSkuTitle()); + wmsInitialDetail.setGoodsSkuCode(wmsInitialExcelInfo.getGoodsSkuCode()); + wmsInitialDetail.setGoodsSkuOwnSpec(wmsInitialExcelInfo.getGoodsSkuOwnSpec()); + wmsInitialDetail.setUnit(wmsInitialExcelInfo.getUnit()); + wmsInitialDetail.setNum(new BigDecimal(wmsInitialExcelInfo.getNum())); + wmsInitialDetail.setBrandSid(wmsInitialExcelInfo.getBrandSid()); + wmsInitialDetail.setBrandName(wmsInitialExcelInfo.getBrandName()); + wmsInitialDetail.setManufacturerSid(wmsInitialExcelInfo.getManufacturerSid()); + wmsInitialDetail.setManufacturerName(wmsInitialExcelInfo.getManufacturerName()); + wmsInitialDetail.setSupplierName(wmsInitialExcelInfo.getSupplierName()); + wmsInitialDetail.setSaleGuidePrice(new BigDecimal(wmsInitialExcelInfo.getSaleGuidePrice())); + wmsInitialDetail.setInCost(new BigDecimal(wmsInitialExcelInfo.getInCost())); + wmsInitialDetail.setTaxRate(wmsInitialExcelInfo.getTaxRate()); + String firstInDate = ""; + if (isNumber(wmsInitialExcelInfo.getFirstInDate())) { + Date javaDate = new Date((long) ((Double.valueOf(wmsInitialExcelInfo.getFirstInDate()) - 25569) * 86400 * 1000)); + firstInDate = DateUtil.formatDate(javaDate); } else { - WmsInitialDetail wmsInitialDetail = new WmsInitialDetail(); - wmsInitialDetail.setCreateBySid(userSid); - wmsInitialDetail.setBillSid(wmsInitial.getSid()); - wmsInitialDetail.setGoodsID(getGoodsId(wmsInitialExcelInfo.getGoodsSkuSid())); - wmsInitialDetail.setGoodsSpuSid(wmsInitialExcelInfo.getGoodsSpuSid()); - wmsInitialDetail.setGoodsSpuName(wmsInitialExcelInfo.getGoodsSpuName()); - wmsInitialDetail.setGoodsSkuSid(wmsInitialExcelInfo.getGoodsSkuSid()); - wmsInitialDetail.setGoodsSkuTitle(wmsInitialExcelInfo.getGoodsSkuTitle()); - wmsInitialDetail.setGoodsSkuCode(wmsInitialExcelInfo.getGoodsSkuCode()); - wmsInitialDetail.setGoodsSkuOwnSpec(wmsInitialExcelInfo.getGoodsSkuOwnSpec()); - wmsInitialDetail.setUnit(wmsInitialExcelInfo.getUnit()); - wmsInitialDetail.setNum(new BigDecimal(wmsInitialExcelInfo.getNum())); - wmsInitialDetail.setBrandSid(wmsInitialExcelInfo.getBrandSid()); - wmsInitialDetail.setBrandName(wmsInitialExcelInfo.getBrandName()); - wmsInitialDetail.setManufacturerSid(wmsInitialExcelInfo.getManufacturerSid()); - wmsInitialDetail.setManufacturerName(wmsInitialExcelInfo.getManufacturerName()); - wmsInitialDetail.setSupplierName(wmsInitialExcelInfo.getSupplierName()); - wmsInitialDetail.setSaleGuidePrice(new BigDecimal(wmsInitialExcelInfo.getSaleGuidePrice())); - wmsInitialDetail.setInCost(new BigDecimal(wmsInitialExcelInfo.getInCost())); - wmsInitialDetail.setTaxRate(wmsInitialExcelInfo.getTaxRate()); - String firstInDate = ""; - if (isNumber(wmsInitialExcelInfo.getFirstInDate())) { - Date javaDate = new Date((long) ((Double.valueOf(wmsInitialExcelInfo.getFirstInDate()) - 25569) * 86400 * 1000)); - firstInDate = DateUtil.formatDate(javaDate); - } else { - firstInDate = wmsInitialExcelInfo.getFirstInDate(); - } - wmsInitialDetail.setFirstInDate(DateUtil.parseDate(firstInDate)); - wmsInitialDetail.setGoodsTypeSid(wmsInitialExcelInfo.getGoodsTypeSid()); - wmsInitialDetail.setGoodsTypeCode(wmsInitialExcelInfo.getGoodsTypeCode()); - wmsInitialDetail.setGoodsTypeName(wmsInitialExcelInfo.getGoodsTypeName()); + firstInDate = wmsInitialExcelInfo.getFirstInDate(); + } + wmsInitialDetail.setFirstInDate(DateUtil.parseDate(firstInDate)); + wmsInitialDetail.setGoodsTypeSid(wmsInitialExcelInfo.getGoodsTypeSid()); + wmsInitialDetail.setGoodsTypeCode(wmsInitialExcelInfo.getGoodsTypeCode()); + wmsInitialDetail.setGoodsTypeName(wmsInitialExcelInfo.getGoodsTypeName()); + if ("是".equals(wmsInitialExcelInfo.getIsYwym())){ + wmsInitialDetail.setIsYwym(1); + }else { wmsInitialDetail.setIsYwym(0); - wmsInitialDetailService.save(wmsInitialDetail); } + wmsInitialDetailService.save(wmsInitialDetail); } return ResultBean.fireSuccess().setMsg("数据导入成功"); } catch (Exception e) { @@ -227,10 +187,17 @@ public class WmsInitialRest { @PostMapping("/generateGoodsTag") @ResponseBody @ApiOperation(value = "生成商品标签") - public ResultBean generateGoodsTag(@RequestBody String[] sids){ + public ResultBean generateGoodsTag(@RequestBody String[] sids) { return wmsInitialDetailService.generateGoodsTag(sids); } + @PostMapping("/selByGoodsID") + @ResponseBody + @ApiOperation(value = "根据商品ID查询") + public ResultBean selByGoodsID(@RequestParam("goodsID") String goodsID) { + return wmsInitialDetailService.selByGoodsID(goodsID); + } + private ReturnExcelInfo getSheetVal(Sheet sheet, int[] resultCell, String deptSid) { ReturnExcelInfo importReturn = new ReturnExcelInfo(); List importVoList = new ArrayList<>(); @@ -582,28 +549,4 @@ public class WmsInitialRest { } return true; } - - /** - * 获取商品唯一的goodsID - * - * @param goodsSkuSid - * @return - */ - private String getGoodsId(String goodsSkuSid) { - String goodsId = ""; - ResultBean resultBean = baseGoodsSkuFeign.getDetails(goodsSkuSid); - if (resultBean.getSuccess()) { - BaseGoodsSkuDetailsVo baseGoodsSkuDetailsVo = resultBean.getData(); - goodsId = baseGoodsSkuDetailsVo.getGoodsCode(); - String date = DateUtil.format(DateUtil.date(), "yyyyMM"); - goodsId = goodsId + date; - String i = wmsInitialDetailService.selectNum(goodsId); - if (com.yxt.common.base.utils.StringUtils.isNotBlank(i)) { - goodsId = Rule.getBillNo(goodsId, Integer.valueOf(i).intValue()); - } else { - goodsId = Rule.getBillNo(goodsId, 0); - } - } - return goodsId; - } } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRest.java b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRest.java index 702eef0ba2..2fc4cf574b 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRest.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRest.java @@ -154,6 +154,12 @@ public class WmsInventoryRest { } + @ApiOperation("保存商品库存") + @PostMapping("/saveWmsInventory") + ResultBean saveWmsInventory(@RequestBody WmsInventorySaveDto dto) { + return wmsInventoryService.saveWmsInventory(dto); + } + @ApiOperation("修改库存数量") @PostMapping("/updateInventoryCount") ResultBean updateInventoryCount(@RequestBody WmsUpdateCountQuery query) { @@ -296,6 +302,11 @@ public class WmsInventoryRest { return rb.success().setData(pv); } + @ApiOperation("根据商品ID查询库存数量") + @PostMapping("/selCountByGoodsID") + public ResultBean selCountByGoodsID(@RequestParam("goodsID") String goodsID){ + return wmsInventoryService.selCountByGoodsID(goodsID); + } //----------------------------- 报表 ----------------------------- @ApiOperation("滞销品查询") @PostMapping("/deadStockList") diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsShelfBillRest.java b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsShelfBillRest.java index fb537ad874..6e7a035fce 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsShelfBillRest.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsShelfBillRest.java @@ -145,4 +145,10 @@ public class WmsShelfBillRest { public ResultBean print2(@RequestBody TagQuery query) { return wmsShelfBillService.print2(query); } + + @ApiOperation("期初上架商品打印") + @PostMapping("/print3") + public ResultBean print3(@RequestBody TagQuery query) { + return wmsShelfBillService.print3(query); + } } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/WmsGoodsTagMapper.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/WmsGoodsTagMapper.java index 047d35b277..99a3e4bb4f 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/WmsGoodsTagMapper.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/WmsGoodsTagMapper.java @@ -34,4 +34,6 @@ public interface WmsGoodsTagMapper extends BaseMapper { @Select("select * from wms_goods_tag where goodsID = #{oldGoodsId}") WmsGoodsTag selectByGoodsId(String oldGoodsId); + + IPage goodsTagList(IPage page,@Param(Constants.WRAPPER) QueryWrapper qw); } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/WmsGoodsTagMapper.xml b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/WmsGoodsTagMapper.xml index e02017496a..8a562cf11c 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/WmsGoodsTagMapper.xml +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/WmsGoodsTagMapper.xml @@ -21,7 +21,7 @@ WHEN '1' THEN '已完成' END AS state, - DATE_FORMAT(a.createTime, '%Y-%m-%d') as `time` + DATE_FORMAT(a.createTime, '%Y-%m-%d') as time FROM wms_receipt_bill AS a @@ -59,4 +59,18 @@ ${ew.sqlSegment} + + diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/WmsGoodsTagService.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/WmsGoodsTagService.java index a3c201eebb..8cfdb91f6a 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/WmsGoodsTagService.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/WmsGoodsTagService.java @@ -10,8 +10,6 @@ import com.yxt.common.base.utils.StringUtils; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; -import com.yxt.wms.biz.inventory.wmsansbill.WmsAnsBill; -import com.yxt.wms.biz.inventory.wmsansbill.WmsAnsBillVo; import com.yxt.wms.biz.inventory.wmsgoodstag.app.*; import com.yxt.wms.biz.inventory.wmsgoodstag.pageUtil.MyPagerUtil; import com.yxt.wms.biz.inventory.wmsgoodstag.pageUtil.MyPagerVo; @@ -19,8 +17,10 @@ import com.yxt.wms.biz.inventory.wmsreceiptbill.WmsReceiptBill; import com.yxt.wms.biz.inventory.wmsreceiptbill.WmsReceiptBillService; import com.yxt.wms.biz.inventory.wmsreceiptbilldetail.WmsReceiptBillDetail; import com.yxt.wms.biz.inventory.wmsreceiptbilldetail.WmsReceiptBillDetailService; +import com.yxt.wms.feign.portal.privilege.PrivilegeQuery; import com.yxt.wms.feign.portal.sysorganization.SysOrganizationFeign; import com.yxt.wms.feign.portal.sysorganization.SysOrganizationVo; +import com.yxt.wms.feign.portal.sysuser.SysUserFeign; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -42,11 +42,65 @@ public class WmsGoodsTagService extends MybatisBaseService goodsTagList(PagerQuery pagerQuery) { + GoodsTagListQuery query = pagerQuery.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + //========================================数据授权开始 + if (StringUtils.isNotBlank(query.getMenuSid())) { + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(query.getOrgPath()); + privilegeQuery.setMenuSid(query.getMenuSid()); + privilegeQuery.setUserSid(query.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = query.getOrgPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + qw.like("s.orgSidPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("s.orgSidPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("s.orgSidPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("s.orgSidPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("t.createBySid", query.getUserSid()); + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } + if (StringUtils.isNotBlank(query.getName())) { + + } + qw.orderByDesc("t.createTime"); + IPage page = PagerUtil.queryToPage(pagerQuery); + IPage pagging = baseMapper.goodsTagList(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + public MyPagerVo goodsList(PagerQuery pagerQuery) { GoodsTagListQuery query = pagerQuery.getParams(); QueryWrapper qw = new QueryWrapper<>(); diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinitialdetail/WmsInitialDetail.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinitialdetail/WmsInitialDetail.java index 3287d6c322..82d3891d87 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinitialdetail/WmsInitialDetail.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinitialdetail/WmsInitialDetail.java @@ -42,8 +42,6 @@ public class WmsInitialDetail extends BaseEntity { @ApiModelProperty("单据sid") private String billSid; // 单据sid - @ApiModelProperty("商品ID") - private String goodsID; @ApiModelProperty("商品spuSid") private String goodsSpuSid; // 商品spuSid @ApiModelProperty("商品spu名称") diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinitialdetail/WmsInitialDetailMapper.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinitialdetail/WmsInitialDetailMapper.java index fd86a554cc..8ab17ecc9a 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinitialdetail/WmsInitialDetailMapper.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinitialdetail/WmsInitialDetailMapper.java @@ -31,6 +31,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.toolkit.Constants; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Update; @Mapper @@ -42,4 +43,7 @@ public interface WmsInitialDetailMapper extends BaseMapper { @Update("update wms_initial_detail set isScbq = 1 where sid = #{sid}") void updateIsScbq(String sid); + + @Select("select * from wms_initial_detail where goodsID = #{goodsID}") + WmsInitialDetailVo selByGoodsID(String goodsID); } \ No newline at end of file diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinitialdetail/WmsInitialDetailService.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinitialdetail/WmsInitialDetailService.java index 1ae1ad0ea5..8b0f822fe8 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinitialdetail/WmsInitialDetailService.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinitialdetail/WmsInitialDetailService.java @@ -25,7 +25,6 @@ *********************************************************/ package com.yxt.wms.biz.inventory.wmsinitialdetail; -import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.yxt.common.base.service.MybatisBaseService; @@ -35,106 +34,175 @@ import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import com.yxt.wms.biz.inventory.wmsgoodstag.WmsGoodsTag; import com.yxt.wms.biz.inventory.wmsgoodstag.WmsGoodsTagService; +import com.yxt.wms.biz.inventory.wmsgoodstag.util.GetSerialNum; import com.yxt.wms.feign.portal.privilege.PrivilegeQuery; import com.yxt.wms.feign.portal.sysuser.SysUserFeign; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; - import java.math.BigDecimal; +import java.text.SimpleDateFormat; +import java.util.*; @Service public class WmsInitialDetailService extends MybatisBaseService { - @Autowired - private SysUserFeign sysUserFeign; - @Autowired - private WmsGoodsTagService wmsGoodsTagService; + @Autowired + private SysUserFeign sysUserFeign; + @Autowired + private WmsGoodsTagService wmsGoodsTagService; + + public PagerVo listPageVo(PagerQuery pq) { + WmsInitialDetailQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + //========================================数据授权开始 + if (StringUtils.isNotBlank(query.getMenuUrl()) || StringUtils.isNotBlank(query.getMenuSid())) { + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(query.getOrgPath()); + privilegeQuery.setMenuUrl(query.getMenuUrl()); + privilegeQuery.setMenuSid(query.getMenuSid()); + privilegeQuery.setUserSid(query.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = query.getOrgPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + qw.like("s.orgSidPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("s.orgSidPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("s.orgSidPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("s.orgSidPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("wi.createBySid", query.getUserSid()); + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } + if (StringUtils.isNotBlank(query.getGoodsSpuName())) { + qw.like("wid.goodsSpuName", query.getGoodsSpuName()); + } + if (StringUtils.isNotBlank(query.getGoodsSkuCode())) { + qw.like("wid.goodsSkuCode", query.getGoodsSkuCode()); + } + if (StringUtils.isNotBlank(query.getGoodsTypeName())) { + qw.like("wid.goodsTypeName", query.getGoodsTypeName()); + } + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } - public PagerVo listPageVo(PagerQuery pq) { - WmsInitialDetailQuery query = pq.getParams(); - QueryWrapper qw = new QueryWrapper<>(); - //========================================数据授权开始 - if (StringUtils.isNotBlank(query.getMenuUrl()) || StringUtils.isNotBlank(query.getMenuSid())) { - PrivilegeQuery privilegeQuery = new PrivilegeQuery(); - privilegeQuery.setOrgPath(query.getOrgPath()); - privilegeQuery.setMenuUrl(query.getMenuUrl()); - privilegeQuery.setMenuSid(query.getMenuSid()); - privilegeQuery.setUserSid(query.getUserSid()); - ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); - if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { - //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) - String orgSidPath = query.getOrgPath(); - orgSidPath = orgSidPath + "/"; - int i1 = orgSidPath.indexOf("/"); - int i2 = orgSidPath.indexOf("/", i1 + 1); - int i3 = orgSidPath.indexOf("/", i2 + 1); - int i4 = orgSidPath.indexOf("/", i3 + 1); - String orgLevelKey = defaultIdReltBean.getData(); - if ("1".equals(orgLevelKey)) { - orgSidPath = orgSidPath.substring(0, i1); - qw.like("s.orgSidPath", orgSidPath); - } else if ("2".equals(orgLevelKey)) { - orgSidPath = orgSidPath.substring(0, i2); - qw.like("s.orgSidPath", orgSidPath); - } else if ("3".equals(orgLevelKey)) { - orgSidPath = orgSidPath.substring(0, i3); - qw.like("s.orgSidPath", orgSidPath); - } else if ("4".equals(orgLevelKey)) { - orgSidPath = orgSidPath.substring(0, i4); - qw.like("s.orgSidPath", orgSidPath); - } else if ("5".equals(orgLevelKey)) { - qw.eq("wi.createBySid", query.getUserSid()); - } else { - PagerVo p = new PagerVo<>(); - return p; - } - } else { - PagerVo p = new PagerVo<>(); - return p; - } - } - if (StringUtils.isNotBlank(query.getGoodsSpuName())) { - qw.like("wid.goodsSpuName", query.getGoodsSpuName()); - } - if (StringUtils.isNotBlank(query.getGoodsSkuCode())) { - qw.like("wid.goodsSkuCode", query.getGoodsSkuCode()); - } - if (StringUtils.isNotBlank(query.getGoodsTypeName())) { - qw.like("wid.goodsTypeName", query.getGoodsTypeName()); - } - IPage page = PagerUtil.queryToPage(pq); - IPage pagging = baseMapper.selectPageVo(page, qw); - PagerVo p = PagerUtil.pageToVo(pagging, null); - return p; - } + public String selectNum(String goodsId) { + return baseMapper.selectNum(goodsId); + } - public String selectNum(String goodsId) { - return baseMapper.selectNum(goodsId); - } + public ResultBean generateGoodsTag(String[] sids) { + ResultBean rb = ResultBean.fireFail(); + Set idSet = new HashSet<>(); + for (String sid : sids) { + WmsInitialDetail wmsInitialDetail = fetchBySid(sid); + String rule = wmsInitialDetail.getGoodsSkuCode() + new SimpleDateFormat("yyMMdd").format(new Date()); + if (wmsInitialDetail.getIsYwym() == 1) {//是一物一码 + int num = wmsInitialDetail.getNum().intValue(); + for (int i = 0; i < num; i++) { + //新增标签 + WmsGoodsTag wmsGoodsTag = new WmsGoodsTag(); + wmsGoodsTag.setState(0); + wmsGoodsTag.setCreateBySid(wmsInitialDetail.getCreateBySid()); + wmsGoodsTag.setBillSid(wmsInitialDetail.getBillSid()); + wmsGoodsTag.setBillDetailSid(sid); + String j = wmsGoodsTagService.selectGoodsIDNum(wmsInitialDetail.getGoodsSkuCode() + new SimpleDateFormat("yyMMdd").format(new Date())); + if (StringUtils.isBlank(j)) { + j = "0"; + } + int intValue = Integer.valueOf(j).intValue(); + String goodsID = GetSerialNum.getNum(intValue, wmsInitialDetail.getGoodsSkuCode()); + if (idSet.contains(goodsID)) { + List idList = new ArrayList<>(); + for (String s : idSet) { + if (s.contains(rule)) { + Integer integer = new Integer(s.substring(rule.length())); + idList.add(integer); + } + } + int max = Collections.max(idList); + String lsh = String.format("%04d", max + 1); + goodsID = rule + lsh; + } + wmsGoodsTag.setGoodsID(goodsID); + wmsGoodsTag.setGoodsSpuSid(wmsInitialDetail.getGoodsSpuSid()); + wmsGoodsTag.setGoodsSpuName(wmsInitialDetail.getGoodsSpuName()); + wmsGoodsTag.setGoodsSkuSid(wmsInitialDetail.getGoodsSkuSid()); + wmsGoodsTag.setGoodsSkuTitle(wmsInitialDetail.getGoodsSkuTitle()); + wmsGoodsTag.setGoodsSkuCode(wmsInitialDetail.getGoodsSkuCode()); + wmsGoodsTag.setGoodsSkuOwnSpec(wmsInitialDetail.getGoodsSkuOwnSpec()); + wmsGoodsTag.setUnit(wmsInitialDetail.getUnit()); + wmsGoodsTag.setGoodsCount(new BigDecimal("1")); + wmsGoodsTagService.insert(wmsGoodsTag); + } + } else { + //新增标签 + WmsGoodsTag wmsGoodsTag = new WmsGoodsTag(); + wmsGoodsTag.setState(0); + wmsGoodsTag.setCreateBySid(wmsInitialDetail.getCreateBySid()); + wmsGoodsTag.setBillSid(wmsInitialDetail.getBillSid()); + wmsGoodsTag.setBillDetailSid(sid); + //查询流水号生成goodsID + String i = wmsGoodsTagService.selectGoodsIDNum(wmsInitialDetail.getGoodsSkuCode() + new SimpleDateFormat("yyMMdd").format(new Date())); + if (StringUtils.isBlank(i)) { + i = "0"; + } + int intValue = Integer.valueOf(i).intValue(); + String goodsID = GetSerialNum.getNum(intValue, wmsInitialDetail.getGoodsSkuCode()); + if (idSet.contains(goodsID)) { + List idList = new ArrayList<>(); + for (String s : idSet) { + if (s.contains(rule)) { + Integer integer = new Integer(s.substring(rule.length())); + idList.add(integer); + } + } + int max = Collections.max(idList); + String num = String.format("%04d", max + 1); + goodsID = rule + num; + } + wmsGoodsTag.setGoodsID(goodsID); + wmsGoodsTag.setGoodsSpuSid(wmsInitialDetail.getGoodsSpuSid()); + wmsGoodsTag.setGoodsSpuName(wmsInitialDetail.getGoodsSpuName()); + wmsGoodsTag.setGoodsSkuSid(wmsInitialDetail.getGoodsSkuSid()); + wmsGoodsTag.setGoodsSkuTitle(wmsInitialDetail.getGoodsSkuTitle()); + wmsGoodsTag.setGoodsSkuCode(wmsInitialDetail.getGoodsSkuCode()); + wmsGoodsTag.setGoodsSkuOwnSpec(wmsInitialDetail.getGoodsSkuOwnSpec()); + wmsGoodsTag.setUnit(wmsInitialDetail.getUnit()); + wmsGoodsTag.setGoodsCount(wmsInitialDetail.getNum()); + wmsGoodsTagService.insert(wmsGoodsTag); + } + baseMapper.updateIsScbq(sid); + } + return rb.success(); + } - public ResultBean generateGoodsTag(String[] sids) { - ResultBean rb = ResultBean.fireFail(); - for (String sid : sids) { - WmsInitialDetail wmsInitialDetail = fetchBySid(sid); - //新增标签 - WmsGoodsTag wmsGoodsTag = new WmsGoodsTag(); - wmsGoodsTag.setState(0); - wmsGoodsTag.setCreateBySid(wmsInitialDetail.getCreateBySid()); - wmsGoodsTag.setBillSid(wmsInitialDetail.getBillSid()); - wmsGoodsTag.setBillDetailSid(sid); - wmsGoodsTag.setGoodsID(wmsInitialDetail.getGoodsID()); - wmsGoodsTag.setGoodsSpuSid(wmsInitialDetail.getGoodsSpuSid()); - wmsGoodsTag.setGoodsSpuName(wmsInitialDetail.getGoodsSpuName()); - wmsGoodsTag.setGoodsSkuSid(wmsInitialDetail.getGoodsSkuSid()); - wmsGoodsTag.setGoodsSkuTitle(wmsInitialDetail.getGoodsSkuTitle()); - wmsGoodsTag.setGoodsSkuCode(wmsInitialDetail.getGoodsSkuCode()); - wmsGoodsTag.setGoodsSkuOwnSpec(wmsInitialDetail.getGoodsSkuOwnSpec()); - wmsGoodsTag.setUnit(wmsInitialDetail.getUnit()); - wmsGoodsTag.setGoodsCount(wmsInitialDetail.getNum()); - wmsGoodsTagService.insert(wmsGoodsTag); - baseMapper.updateIsScbq(sid); - } - return rb.success(); - } + public ResultBean selByGoodsID(String goodsID) { + ResultBean rb = ResultBean.fireFail(); + WmsInitialDetailVo wmsInitialDetailVo = baseMapper.selByGoodsID(goodsID); + return rb.success().setData(wmsInitialDetailVo); + } } \ No newline at end of file diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.java index 37a9eb45ac..03b75673f4 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.java @@ -13,6 +13,7 @@ import com.yxt.wms.biz.inventory.wmsinventory.report.DeadStockVo; import com.yxt.wms.biz.inventory.wmsinventory.report.InventoryStockListVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.math.BigDecimal; import java.util.List; @@ -102,4 +103,7 @@ public interface WmsInventoryMapper extends BaseMapper { List selCJByDeptSid(String deptSid); IPage inventoryStockList(IPage page, @Param(Constants.WRAPPER)QueryWrapper qw); + + @Select("select count from wms_inventory where goodsID = #{goodsID}") + String selCountByGoodsID(String goodsID); } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java index a149717e6d..eda26d4283 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java @@ -1283,4 +1283,10 @@ public class WmsInventoryService extends MybatisBaseService p = PagerUtil.pageToVo(pagging, null); return p; } + + public ResultBean selCountByGoodsID(String goodsID) { + ResultBean rb = ResultBean.fireFail(); + String count = baseMapper.selCountByGoodsID(goodsID); + return rb.success().setData(count); + } } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillService.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillService.java index 071b6dc736..72419281bc 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillService.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillService.java @@ -767,9 +767,9 @@ public class WmsShelfBillService extends MybatisBaseService data = smsPricesTrategyBillGoodsTypeDetailFeign.selByMainSid(tjmxSid).getData(); for (SmsPricestrategyBillGoodstypedetailDetailsVo smsPricestrategyBillGoodstypedetailDetailsVo : data) { BigDecimal cost = receiptBillDetail.getCost(); @@ -1314,4 +1314,22 @@ public class WmsShelfBillService extends MybatisBaseService print3(TagQuery query) { + ResultBean rb = ResultBean.fireFail(); + GoodsTagVo vo = new GoodsTagVo(); + List sids = query.getSids(); + List list = new ArrayList<>(); + for (String sid : sids) { + GoodsTag goodsTag = new GoodsTag(); + WmsGoodsTag wmsGoodsTag = wmsGoodsTagService.selectByGoodsId(sid); + goodsTag.setQrText(sid); + goodsTag.setText1(wmsGoodsTag.getGoodsSkuTitle()); + goodsTag.setText2(wmsGoodsTag.getGoodsSkuCode()); + goodsTag.setText3(DateUtil.formatDate(wmsGoodsTag.getCreateTime())); + goodsTag.setSid(wmsGoodsTag.getBillSid()); + list.add(goodsTag); + } + vo.setGoods(list); + return rb.success().setData(vo); + } }