From f4f3c04ba37cec6739370c4aa0b9622493de8a23 Mon Sep 17 00:00:00 2001 From: wang..123 <brook_w@163.com> Date: 星期五, 25 三月 2022 20:34:19 +0800 Subject: [PATCH] Merge branch 'master' of http://47.97.1.152:5880/r/wms_saas --- src/main/webapp/views/pickout/pickout.html | 56 ++++++ src/main/java/zy/cloud/wms/manager/entity/Pickout.java | 33 +++ src/main/java/zy/cloud/wms/manager/service/PickoutService.java | 3 src/main/java/zy/cloud/wms/manager/entity/dto/PickOutPrintDTO.java | 18 ++ src/main/java/zy/cloud/wms/manager/entity/PickoutDetl.java | 46 ++++ src/main/java/zy/cloud/wms/manager/mapper/OrderDetlMapper.java | 3 src/main/java/zy/cloud/wms/manager/controller/PickoutController.java | 95 +++++++++++ src/main/java/zy/cloud/wms/manager/service/impl/OrderDetlServiceImpl.java | 6 src/main/resources/mapper/OrderDetlMapper.xml | 8 + src/main/java/zy/cloud/wms/manager/service/OrderDetlService.java | 3 src/main/java/zy/cloud/wms/manager/controller/WaveController.java | 3 src/main/java/zy/cloud/wms/manager/service/impl/PickoutServiceImpl.java | 75 +++++++++ src/main/resources/mapper/PickoutMapper.xml | 4 src/main/java/zy/cloud/wms/manager/controller/WorkController.java | 8 + src/main/webapp/static/js/pickout/pickout.js | 76 +++++++++ 15 files changed, 413 insertions(+), 24 deletions(-) diff --git a/src/main/java/zy/cloud/wms/manager/controller/PickoutController.java b/src/main/java/zy/cloud/wms/manager/controller/PickoutController.java index a25878a..73b270d 100644 --- a/src/main/java/zy/cloud/wms/manager/controller/PickoutController.java +++ b/src/main/java/zy/cloud/wms/manager/controller/PickoutController.java @@ -6,10 +6,8 @@ import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.plugins.Page; import com.core.common.DateUtils; -import zy.cloud.wms.manager.entity.Pickout; -import zy.cloud.wms.manager.entity.PickoutDetl; -import zy.cloud.wms.manager.service.PickoutDetlService; -import zy.cloud.wms.manager.service.PickoutService; +import zy.cloud.wms.manager.entity.*; +import zy.cloud.wms.manager.service.*; import com.core.annotations.ManagerAuth; import com.core.common.BaseRes; import com.core.common.Cools; @@ -27,6 +25,14 @@ private PickoutService pickoutService; @Autowired private PickoutDetlService pickoutDetlService; + @Autowired + private WaveService waveService; + @Autowired + private OrderService orderService; + @Autowired + private WaveDetlService waveDetlService; + @Autowired + private OrderDetlService orderDetlService; @RequestMapping(value = "/pickout/{id}/auth") @ManagerAuth @@ -44,7 +50,8 @@ EntityWrapper<Pickout> wrapper = new EntityWrapper<>(); excludeTrash(param); convert(param, wrapper); - if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} +// if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} + wrapper.orderBy("wrk_sts",true); Page<Pickout> pickoutPage = pickoutService.selectPage(new Page<>(curr, limit), wrapper); return R.ok(pickoutPage); @@ -131,4 +138,82 @@ return R.ok(); } + /** + * 鎵撳嵃瀹屾垚涔嬪悗,灏�'鏈墦鍗�'鐘舵�佹浛鎹负'鎷h揣涓�' + * @param pickout + * @return + */ + @RequestMapping("/pickout/print/auth") + @ManagerAuth + public R printed(@RequestBody Pickout pickout){ + /** + * 鎵撳嵃瀹屾垚,鍚戝悗鍙版洿鏂版暟鎹� + */ + Date now = new Date(); + pickout.setPrintTimes(pickout.getPrintTimes() + 1); + pickout.setUpdateTime(now); + pickout.setUpdateBy(getUserId().intValue()); + pickout.setPickStaff(getUserId()); + pickout.setPickStart(now); + pickout.setWrkSts(2L); + pickoutService.update(pickout,new EntityWrapper<Pickout>() + .eq("id",pickout.getId())); + return R.ok(); + } + + /** + * 鐐瑰嚮瀹屾垚鎸夐挳鏃�,灏嗙姸鎬佷粠'鎷h揣涓�'璋冩暣鑷�'宸插畬鎴�' + */ + @RequestMapping("/pickout/done/auth") + @ManagerAuth + public R donePickOut(@RequestBody Pickout pickout){ + HashSet<String> orderNos = new HashSet<>(); + /** + * 鍙嶅啓鎷h揣鍗� + */ + pickout.setWrkSts(3L); + pickout.setPickEnd(new Date()); + pickoutService.update(pickout,new EntityWrapper<Pickout>() + .eq("id",pickout.getId())); + List<PickoutDetl> pickoutDetls = pickoutDetlService.selectList(new EntityWrapper<PickoutDetl>() + .eq("head_id", pickout.getId())); + if (Cools.isEmpty(pickoutDetls)) { + return R.error("鎵句笉鍒版嫞璐у崟鏄庣粏"); + } + /** + * 鍙嶅啓娉㈡ + */ + Wave wave = waveService.selectOne(new EntityWrapper<Wave>() + .eq("wave_no", pickout.getWaveNo())); + if (Cools.isEmpty(wave)) { + return R.error("鎵句笉鍒板搴旀尝娆�"); + } + wave.setStatus((short) 2); + waveService.update(wave,new EntityWrapper<Wave>() + .eq("id",wave.getId())); + List<WaveDetl> waveDetls = waveDetlService.selectList(new EntityWrapper<WaveDetl>() + .eq("wave_id", wave.getId())); + if (Cools.isEmpty(waveDetls)) { + return R.error("鎵句笉鍒板搴旀尝娆℃槑缁�"); + } + + /** + * 鍙嶅啓鍑哄簱璁㈠崟 + */ + for (WaveDetl waveDetl : waveDetls) { + String[] split = waveDetl.getOrderNos().split(","); + for (String s : split) { + orderNos.add(s); + } + } + for (PickoutDetl pickoutDetl : pickoutDetls) { + Double anfme = pickoutDetl.getAnfme(); + String matnr = pickoutDetl.getMatnr(); + List<OrderDetl> orderDetls = orderDetlService.selectOutList(matnr,new ArrayList<String>(orderNos)); + + } + + return R.ok(); + } + } diff --git a/src/main/java/zy/cloud/wms/manager/controller/WaveController.java b/src/main/java/zy/cloud/wms/manager/controller/WaveController.java index 4181182..b8e71e8 100644 --- a/src/main/java/zy/cloud/wms/manager/controller/WaveController.java +++ b/src/main/java/zy/cloud/wms/manager/controller/WaveController.java @@ -54,7 +54,8 @@ EntityWrapper<Wave> wrapper = new EntityWrapper<>(); excludeTrash(param); convert(param, wrapper); - if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} +// if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} + wrapper.orderBy("create_time",false); return R.ok(waveService.selectPage(new Page<>(curr, limit), wrapper)); } diff --git a/src/main/java/zy/cloud/wms/manager/controller/WorkController.java b/src/main/java/zy/cloud/wms/manager/controller/WorkController.java index 8a71d2d..c1f4a6d 100644 --- a/src/main/java/zy/cloud/wms/manager/controller/WorkController.java +++ b/src/main/java/zy/cloud/wms/manager/controller/WorkController.java @@ -40,6 +40,8 @@ private SnowflakeIdWorker snowflakeIdWorker; @Autowired private OrderService orderService; + @Autowired + private PickoutService pickoutService; @Autowired private ReceiveService receiveService; @@ -85,6 +87,12 @@ return workService.stockOutPrint(stockOutParam, getUserId(), getHostId()); } + @RequestMapping("/pick/out/print") + @ManagerAuth(memo = "PickOut鎵撳嵃鎷h揣鍗�") + public R pickOutPrint(@RequestBody Pickout pickout){ + return pickoutService.stockOutPrint(pickout,getUserId(), getHostId()); + } + @RequestMapping("/stock/allot") @ManagerAuth(memo = "搴撳瓨璋冩嫧") public R stockAllot() { diff --git a/src/main/java/zy/cloud/wms/manager/entity/Pickout.java b/src/main/java/zy/cloud/wms/manager/entity/Pickout.java index 804a8f3..38877ab 100644 --- a/src/main/java/zy/cloud/wms/manager/entity/Pickout.java +++ b/src/main/java/zy/cloud/wms/manager/entity/Pickout.java @@ -101,6 +101,18 @@ @TableField("wave_no") private String waveNo; + @TableField("print_times") + private Integer printTimes; + + @TableField("pick_staff") + private Long pickStaff; + + @TableField("pick_start") + private Date pickStart; + + @TableField("pick_end") + private Date pickEnd; + public Pickout() {} @@ -122,14 +134,12 @@ return "鏈墦鍗�"; } if (this.wrkSts == 2) { - return "鏈嫞璐�"; + return "鎷h揣涓�"; } if (this.wrkSts == 3) { - return "寮�濮嬫嫞璐�"; + return "宸插畬鎴�"; } - if (this.wrkSts == 4) { - return "鎷h揣瀹屾垚"; - } + return ""; } public Long getId() { @@ -191,6 +201,7 @@ return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime); } + public void setCreateTime(Date createTime) { this.createTime = createTime; } @@ -234,5 +245,17 @@ this.memo = memo; } + public String getPickStart$() { + if (Cools.isEmpty(this.pickStart)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.pickStart); + } + public String getPickEnd$() { + if (Cools.isEmpty(this.pickEnd)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.pickEnd); + } } diff --git a/src/main/java/zy/cloud/wms/manager/entity/PickoutDetl.java b/src/main/java/zy/cloud/wms/manager/entity/PickoutDetl.java index 79d3e56..e0d259d 100644 --- a/src/main/java/zy/cloud/wms/manager/entity/PickoutDetl.java +++ b/src/main/java/zy/cloud/wms/manager/entity/PickoutDetl.java @@ -2,7 +2,10 @@ import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.enums.IdType; -import com.core.common.Cools;import io.swagger.annotations.ApiModelProperty; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.core.common.Cools; +import com.core.common.SpringUtils; +import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty; import com.baomidou.mybatisplus.annotations.TableField; import io.swagger.annotations.ApiModelProperty; @@ -43,6 +46,11 @@ import io.swagger.annotations.ApiModelProperty; import com.baomidou.mybatisplus.annotations.TableName; +import zy.cloud.wms.manager.service.PickoutService; +import zy.cloud.wms.manager.service.impl.PickoutServiceImpl; +import zy.cloud.wms.system.entity.User; +import zy.cloud.wms.system.service.UserService; + import java.io.Serializable; @Data @@ -228,6 +236,7 @@ @TableField("wrk_no") private String wrkNo; + public PickoutDetl() {} @@ -402,6 +411,21 @@ return pickStaff; } + public String getPickStaff$(){ + PickoutService pickoutService = SpringUtils.getBean(PickoutService.class); + Pickout pickout = pickoutService.selectOne(new EntityWrapper<Pickout>() + .eq("id", this.headId)); + if (!Cools.isEmpty(pickout)) { + UserService service = SpringUtils.getBean(UserService.class); + User user = service.selectOne(new EntityWrapper<User>() + .eq("id", pickout.getPickStaff())); + if (!Cools.isEmpty(user)) { + return user.getNickname(); + } + } + return ""; + } + public void setPickStaff(Long pickStaff) { this.pickStaff = pickStaff; } @@ -411,11 +435,16 @@ } public String getPickStart$(){ - if (Cools.isEmpty(this.pickStart)){ - return ""; + PickoutService service = SpringUtils.getBean(PickoutService.class); + Pickout pickout = service.selectOne(new EntityWrapper<Pickout>() + .eq("id", this.headId)); + if (!Cools.isEmpty(pickout)) { + return pickout.getPickStart$(); } - return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.pickStart); + return ""; } + + public void setPickStart(Date pickStart) { this.pickStart = pickStart; @@ -426,10 +455,13 @@ } public String getPickEnd$(){ - if (Cools.isEmpty(this.pickEnd)){ - return ""; + PickoutService service = SpringUtils.getBean(PickoutService.class); + Pickout pickout = service.selectOne(new EntityWrapper<Pickout>() + .eq("id", this.headId)); + if (!Cools.isEmpty(pickout)) { + return pickout.getPickEnd$(); } - return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.pickEnd); + return ""; } public void setPickEnd(Date pickEnd) { diff --git a/src/main/java/zy/cloud/wms/manager/entity/dto/PickOutPrintDTO.java b/src/main/java/zy/cloud/wms/manager/entity/dto/PickOutPrintDTO.java new file mode 100644 index 0000000..7803f4d --- /dev/null +++ b/src/main/java/zy/cloud/wms/manager/entity/dto/PickOutPrintDTO.java @@ -0,0 +1,18 @@ +package zy.cloud.wms.manager.entity.dto; + +import lombok.Data; +import lombok.NoArgsConstructor; +import zy.cloud.wms.manager.entity.Pickout; +import zy.cloud.wms.manager.entity.PickoutDetl; + +import java.util.List; + +@Data +@NoArgsConstructor +public class PickOutPrintDTO { + private Pickout pickout; + private List<PickoutDetl> pickoutDetls; + private Double total; + private String workerName; + private String custName; +} diff --git a/src/main/java/zy/cloud/wms/manager/mapper/OrderDetlMapper.java b/src/main/java/zy/cloud/wms/manager/mapper/OrderDetlMapper.java index fca279e..60cdc05 100644 --- a/src/main/java/zy/cloud/wms/manager/mapper/OrderDetlMapper.java +++ b/src/main/java/zy/cloud/wms/manager/mapper/OrderDetlMapper.java @@ -7,6 +7,7 @@ import zy.cloud.wms.manager.entity.Order; import zy.cloud.wms.manager.entity.OrderDetl; +import java.util.ArrayList; import java.util.List; @Mapper @@ -16,4 +17,6 @@ List<OrderDetl> selectByOrderNo(@Param("orderNo") String orderNo, @Param("hostId") Long hostId); List<OrderDetl> selectBatchByOrderNo(List<Order> orders); + + List<OrderDetl> selectOutList(@Param("matnr") String matnr, @Param("list") ArrayList<String> list); } diff --git a/src/main/java/zy/cloud/wms/manager/service/OrderDetlService.java b/src/main/java/zy/cloud/wms/manager/service/OrderDetlService.java index 9bfd20d..bbe4f1a 100644 --- a/src/main/java/zy/cloud/wms/manager/service/OrderDetlService.java +++ b/src/main/java/zy/cloud/wms/manager/service/OrderDetlService.java @@ -4,6 +4,7 @@ import zy.cloud.wms.manager.entity.Order; import zy.cloud.wms.manager.entity.OrderDetl; +import java.util.ArrayList; import java.util.List; public interface OrderDetlService extends IService<OrderDetl> { @@ -11,4 +12,6 @@ List<OrderDetl> selectByOrderNo(String orderNo, Long hostId); List<OrderDetl> selectBatchByOrderNo(List<Order> orders); + + List<OrderDetl> selectOutList(String matnr, ArrayList<String> strings); } diff --git a/src/main/java/zy/cloud/wms/manager/service/PickoutService.java b/src/main/java/zy/cloud/wms/manager/service/PickoutService.java index c5269bb..0a1be20 100644 --- a/src/main/java/zy/cloud/wms/manager/service/PickoutService.java +++ b/src/main/java/zy/cloud/wms/manager/service/PickoutService.java @@ -1,9 +1,12 @@ package zy.cloud.wms.manager.service; +import com.core.common.R; import zy.cloud.wms.manager.entity.Pickout; import com.baomidou.mybatisplus.service.IService; public interface PickoutService extends IService<Pickout> { void updateWaveStatus(String waveNo); + + R stockOutPrint(Pickout pickout, Long userId, Long hostId); } diff --git a/src/main/java/zy/cloud/wms/manager/service/impl/OrderDetlServiceImpl.java b/src/main/java/zy/cloud/wms/manager/service/impl/OrderDetlServiceImpl.java index 0cc0c47..0bff2f8 100644 --- a/src/main/java/zy/cloud/wms/manager/service/impl/OrderDetlServiceImpl.java +++ b/src/main/java/zy/cloud/wms/manager/service/impl/OrderDetlServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.service.impl.ServiceImpl; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; @Service("orderDetlService") @@ -21,4 +22,9 @@ public List<OrderDetl> selectBatchByOrderNo(List<Order> orders) { return this.baseMapper.selectBatchByOrderNo(orders); } + + @Override + public List<OrderDetl> selectOutList(String matnr, ArrayList<String> strings) { + return this.baseMapper.selectOutList(matnr,strings); + } } diff --git a/src/main/java/zy/cloud/wms/manager/service/impl/PickoutServiceImpl.java b/src/main/java/zy/cloud/wms/manager/service/impl/PickoutServiceImpl.java index c0d5357..87874a2 100644 --- a/src/main/java/zy/cloud/wms/manager/service/impl/PickoutServiceImpl.java +++ b/src/main/java/zy/cloud/wms/manager/service/impl/PickoutServiceImpl.java @@ -1,16 +1,91 @@ package zy.cloud.wms.manager.service.impl; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.core.common.Cools; +import com.core.common.R; +import org.springframework.beans.factory.annotation.Autowired; +import zy.cloud.wms.manager.entity.PickoutDetl; +import zy.cloud.wms.manager.entity.dto.PickOutPrintDTO; import zy.cloud.wms.manager.mapper.PickoutMapper; import zy.cloud.wms.manager.entity.Pickout; +import zy.cloud.wms.manager.service.PickoutDetlService; import zy.cloud.wms.manager.service.PickoutService; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import org.springframework.stereotype.Service; +import zy.cloud.wms.system.entity.Host; +import zy.cloud.wms.system.entity.User; +import zy.cloud.wms.system.service.HostService; +import zy.cloud.wms.system.service.UserService; + +import java.util.List; @Service("pickoutService") public class PickoutServiceImpl extends ServiceImpl<PickoutMapper, Pickout> implements PickoutService { + @Autowired + private PickoutService pickoutService; + @Autowired + private PickoutDetlService pickoutDetlService; + @Autowired + private UserService userService; + @Autowired + private HostService hostService; @Override public void updateWaveStatus(String waveNo) { this.baseMapper.updateWaveStatus(waveNo); } + + /** + * 鎵撳嵃鎷h揣鍗� + * @param pickout + * @param userId + * @param hostId + * @return + */ + @Override + public R stockOutPrint(Pickout pickout, Long userId, Long hostId) { + /** + * 鍒濆鍖栦笌鎺х + */ + PickOutPrintDTO printDTO = new PickOutPrintDTO(); + Double total = 0.0; + List<PickoutDetl> pickoutDetls = pickoutDetlService.selectList(new EntityWrapper<PickoutDetl>() + .eq("head_id", pickout.getId())); + if (Cools.isEmpty(pickoutDetls)) { + return R.error("鏃犳硶鎵惧埌璇ュ崟鎹槑缁�"); + } + for (PickoutDetl pickoutDetl : pickoutDetls) { + total = total + pickoutDetl.getAnfme(); + } + + if (Cools.isEmpty(userId)) { + User user = userService.selectOne(new EntityWrapper<User>() + .eq("id", userId)); + if (Cools.isEmpty(user)) { + printDTO.setWorkerName("榛樿鎷h揣鍛�"); + } + else { + printDTO.setWorkerName(user.getNickname()); + } + }else { + printDTO.setWorkerName("榛樿鎷h揣鍛�"); + } + + if (Cools.isEmpty(hostId)) { + Host host = hostService.selectOne(new EntityWrapper<Host>() + .eq("id", hostId)); + if (Cools.isEmpty(host)) { + printDTO.setCustName("榛樿鍟嗘埛"); + }else { + printDTO.setCustName(host.getName()); + } + }else { + printDTO.setCustName("榛樿鍟嗘埛"); + } + + printDTO.setPickoutDetls(pickoutDetls); + printDTO.setPickout(pickout); + printDTO.setTotal(total); + return R.ok().add(printDTO); + } } diff --git a/src/main/resources/mapper/OrderDetlMapper.xml b/src/main/resources/mapper/OrderDetlMapper.xml index 088fc8a..b34d843 100644 --- a/src/main/resources/mapper/OrderDetlMapper.xml +++ b/src/main/resources/mapper/OrderDetlMapper.xml @@ -46,5 +46,13 @@ order_no = #{orders.orderNo} </foreach> </select> + <select id="selectOutList" resultMap="BaseResultMap"> + SELECT * FROM man_order_detl WHERE 1 = 1 + AND matnr = #{matnr} + AND + <foreach collection="list" open="(" close=")" separator="or" index="index" item="item"> + order_no = #{item} + </foreach> + </select> </mapper> diff --git a/src/main/resources/mapper/PickoutMapper.xml b/src/main/resources/mapper/PickoutMapper.xml index 4961e3f..93a2150 100644 --- a/src/main/resources/mapper/PickoutMapper.xml +++ b/src/main/resources/mapper/PickoutMapper.xml @@ -18,6 +18,10 @@ <result column="order_qty" property="orderQty" /> <result column="order_nos" property="orderNos" /> <result column="wave_no" property="waveNo" /> + <result column="print_times" property="printTimes" /> + <result column="pick_staff" property="pickStaff" /> + <result column="pick_start" property="pickStart" /> + <result column="pick_end" property="pickEnd" /> </resultMap> <update id="updateWaveStatus"> diff --git a/src/main/webapp/static/js/pickout/pickout.js b/src/main/webapp/static/js/pickout/pickout.js index 95be0cb..aca4626 100644 --- a/src/main/webapp/static/js/pickout/pickout.js +++ b/src/main/webapp/static/js/pickout/pickout.js @@ -41,6 +41,7 @@ ,{field: 'userId', align: 'center',title: '鐢ㄦ埛ID', hide: true} ,{field: 'wrkSts$', align: 'center',title: '宸ヤ綔鐘舵��' ,templet: '#wrkStsTpl' , width: 100} + ,{field: 'printTimes', align: 'center', title: '鎵撳嵃娆℃暟',width: 90} ,{field: 'zpallet', align: 'center',title: '鏉″舰鐮�' , hide:true} ,{field: 'createTime$', align: 'center',title: '', hide:true} ,{field: 'createBy', align: 'center',title: '', hide:true} @@ -57,6 +58,9 @@ // 鐩戝惉琛屽伐鍏蜂簨浠� table.on('tool(leftTable)', function(obj){ var data = obj.data; + + + switch (obj.event) { case 'printOrder': printPick(data); @@ -64,6 +68,9 @@ case "del": var ids = [data.id]; del(ids); + break; + case "complete": + donePickOut(data); break; } }); @@ -121,8 +128,73 @@ tableReload(false); }); - function printPick(data){ + function donePickOut(data) { + $.ajax({ + url:baseUrl + "/pickout/done/auth", + headers : {'token' : localStorage.getItem('token')}, + data: JSON.stringify(data), + contentType:'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + leftTB.reload(); + } + }) + } + + function printPick(data){ + $.ajax({ + url:baseUrl + "/work/pick/out/print", + headers : {'token' : localStorage.getItem('token')}, + data: JSON.stringify(data), + contentType:'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + if (res.code === 200){ + console.log(res); + res.data["barcodeUrl"]=baseUrl+"/order/code/auth?type=1¶m="+res.data.pickout.wrkNo; + var tpl = $('#pakoutPrintTpl').html(); + var template = Handlebars.compile(tpl); + var html = template(res); + var box = $("#pakoutPrintBox"); + box.html(html);box.show(); + box.print({ + mediaPrint:true, + deferred: $.Deferred().done(function () { + layer.confirm('[閲嶈] 鎵撳嵃鏄惁鎴愬姛锛�', {btn: ['Yes', 'No']}, function(){ + $.ajax({ + url: baseUrl+"/pickout/print/auth", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(res.data.pickout), + contentType:'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + if (res.code === 200){ + layer.closeAll(); + $(".layui-laypage-btn")[0].click(); + layer.msg(res.msg, {icon: 1}) + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg, {icon: 2}) + } + leftTB.reload(); + } + }) + }); + }) + }); + box.hide(); + } + else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg, {icon: 2}) + } + + } + + }) } @@ -158,7 +230,7 @@ ,{field: 'price', align: 'center',title: '浠锋牸', hide:true} ,{field: 'weight', align: 'center',title: '閲嶉噺', hide:true} ,{field: 'status', align: 'center',title: '鐘舵��' , hide:true} - ,{field: 'pickStaff', align: 'center',title: '鎷h揣鍛業D'} + ,{field: 'pickStaff$', align: 'center',title: '鎷h揣鍛業D'} ,{field: 'pickStart$', align: 'center',title: '鎷h揣寮�濮嬫椂闂�'} ,{field: 'pickEnd$', align: 'center',title: '鎷h揣缁撴潫鏃堕棿'} ,{field: 'createTime$', align: 'center',title: '鍒涘缓鏃堕棿', hide:true} diff --git a/src/main/webapp/views/pickout/pickout.html b/src/main/webapp/views/pickout/pickout.html index 09c1aa3..6825de9 100644 --- a/src/main/webapp/views/pickout/pickout.html +++ b/src/main/webapp/views/pickout/pickout.html @@ -112,6 +112,8 @@ </div> </div> +<!-- 鎵撳嵃瀹瑰櫒 --> +<div id="pakoutPrintBox" style="display: none"></div> <!--<!– 鎼滅储鏍� –>--> <!--<div id="search-box" class="layui-form layui-card-header">--> <!-- <div class="layui-inline">--> @@ -139,9 +141,7 @@ </script> <script type="text/html" id="operate"> - {{#if (d.wrkSts == 3){ }} - <a class="layui-btn layui-btn-xs btn-complete" lay-event="complete">瀹屾垚</a> - {{# } }} + {{#if (d.wrkSts == 1||d.wrkSts == 2){ }} <a class="layui-btn layui-btn-xs layui-btn-normal" lay-event="printOrder">鎵撳嵃鎷h揣鍗�</a> {{# } }} @@ -149,8 +149,11 @@ <!-- <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">璇︽儏</a>--> - {{#if (d.wrkSts == 1||d.wrkSts == 2){ }} + {{#if (d.wrkSts == 1){ }} <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鎾ら攢</a> + {{# } }} + {{#if (d.wrkSts == 2){ }} + <a class="layui-btn layui-btn-xs btn-complete" lay-event="complete">瀹屾垚</a> {{# } }} <!-- <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a>--> @@ -170,7 +173,9 @@ <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/jquery/jQuery.print.js"></script> <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script> <script type="text/javascript" src="../../static/js/pickout/pickout.js" charset="utf-8"></script> </body> <!-- 琛ㄥ崟寮圭獥 --> @@ -249,5 +254,48 @@ </div> </form> </script> + + +<script type="text/template" id="pakoutPrintTpl"> + <!-- 澶� --> + <div id="print-header" style="margin: 20px 0"> + <div style="text-align: center"> + <div style="text-align: center;margin-bottom: 10px"> + <span style="font-family: 瀹嬩綋"> 鎷h揣鍗� </span> + </div> + + <img class="template-code template-qrcode" src="{{data.barcodeUrl}}" style="width: 80%"> + <p style="letter-spacing: 2px;margin-top: 5px">{{data.pickout.wrkNo}}</p> + </div> + <div style="font-size: xx-small; text-align: left; margin-top: 10px"> + <span style="font-family: 瀹嬩綋">瀹㈡埛锛歿{data.custName}}</span> + </div> + <div style="margin-top: 10px"> + <div style="float: left;width: 50%; text-align: left"> + <span style="font-size: xx-small;font-family: 瀹嬩綋">鎷h揣鏁伴噺锛歿{data.total}}</span> + </div> + <div style="float: left; width: 50%; text-align: right"> + <span style="font-size: xx-small;font-family: 瀹嬩綋">鎷h揣浜猴細{{data.workerName}}</span> + </div> + <div style="clear:both;"></div> + </div> + </div> + + <!-- 涓讳綋 --> + <div style="margin-top: 10px"> + {{#each data.pickoutDetls}} + <div class="pakout-item" style="padding: 10px 5px 10px 5px;border-top: 1px solid #525252"> + <div class="item-header" style="margin-top: 10px;font-family: 瀹嬩綋; font-size: x-small"> + {{maktx}} + </div> + <div class="item-content" style="margin: 10px 0 "> + <div style="float: left;font-family: 瀹嬩綋; font-size: xx-small">{{anfme}}{{unit}}</div> + <div style="float: right;font-family: 瀹嬩綋; font-size: xx-small">璐т綅锛歿{nodeName}}</div> + <div style="clear: both;"></div> + </div> + </div> + {{/each}} + </div> +</script> </html> -- Gitblit v1.9.1