| | |
| | | @RequestParam(required = false)String orderByType, |
| | | @RequestParam Map<String, Object> param){ |
| | | EntityWrapper<Node> wrapper = new EntityWrapper<>(); |
| | | wrapper.ne("type",3); |
| | | excludeTrash(param); |
| | | convert(param, wrapper); |
| | | hostEq(wrapper); |
| | |
| | | @RequestParam(required = false)String orderByType, |
| | | @RequestParam Map<String, Object> param){ |
| | | EntityWrapper<Node> wrapper = new EntityWrapper<>(); |
| | | wrapper.ne("type",3); |
| | | excludeTrash(param); |
| | | convert(param, wrapper); |
| | | hostEq(wrapper); |
| | | if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} |
| | | return R.parse("0-操作成功").add(nodeService.selectList(wrapper)); |
| | | if (!Cools.isEmpty(orderByField)){ |
| | | wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType)); |
| | | } |
| | | return R.parse("0-成功").add(nodeService.selectList(wrapper)); |
| | | } |
| | | |
| | | private void convert(Map<String, Object> map, EntityWrapper wrapper){ |
| | |
| | | for (OrderDetl orderDetl : orderDetls) { |
| | | double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getQty()).orElse(0.0D); |
| | | if (issued <= 0.0D) { continue; } |
| | | List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getOwner()); |
| | | List<LocDetl> locDetls = locDetlService.queryStock2(orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getOwner()); |
| | | for (LocDetl locDetl : locDetls) { |
| | | if (issued > 0) { |
| | | LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(), |
| | |
| | | // 物料数量 |
| | | private Double anfme; |
| | | |
| | | private Double weight; |
| | | |
| | | } |
| | | |
| | | } |
| | |
| | | //通过订单号、物料号、物料名称、规格、库位号进行模糊搜索 |
| | | List<LocDetl> searchByLike(String orderNo, String matnr, String maktx, String specs, String locNo); |
| | | |
| | | List<LocDetl> queryStock2(String matnr, String batch, int owner); |
| | | } |
| | |
| | | |
| | | int deleteDatailed (String locNo, String matnr,String batch); |
| | | |
| | | int increase(Double anfme,String locNo, String matnr,String batch); |
| | | int increase(Double anfme,String locNo, String matnr,String batch,Double weight); |
| | | } |
| | |
| | | // -------------------------------------------------- |
| | | |
| | | List<LocDetl> queryStock(String matnr, String batch,int owner); |
| | | List<LocDetl> queryStock2(String matnr, String batch,int owner); |
| | | |
| | | Double queryStockAnfme(String matnr, String batch); |
| | | |
| | |
| | | |
| | | int deleteDatailed (String locNo, String matnr,String batch); |
| | | |
| | | int increase(Double anfme,String locNo, String matnr,String batch); |
| | | int increase(Double anfme,String locNo, String matnr,String batch,Double weight); |
| | | |
| | | } |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<LocDetl> queryStock2(String matnr, String batch, int owner) { |
| | | return this.baseMapper.queryStock2(matnr, batch, owner); |
| | | } |
| | | |
| | | @Override |
| | | public List<LocDetl> queryStockViewMerge(String locNo) { |
| | | return this.baseMapper.queryStockViewMerge(locNo); |
| | | } |
| | |
| | | } |
| | | |
| | | @Override |
| | | public int increase(Double anfme,String locNo, String matnr, String batch) { |
| | | return baseMapper.increase(anfme,locNo,matnr,batch); |
| | | public int increase(Double anfme,String locNo, String matnr, String batch,Double weight) { |
| | | return baseMapper.increase(anfme,locNo,matnr,batch,weight); |
| | | } |
| | | |
| | | |
| | |
| | | waitPakin.setModiTime(now); |
| | | waitPakin.setOwner(detlDto.getOwner()); |
| | | waitPakin.setUuid(uuid); |
| | | waitPakin.setWeight(param.getCombMats().get(0).getWeight()); |
| | | if (!waitPakinService.insert(waitPakin)) { |
| | | throw new CoolException("保存入库通知档失败"); |
| | | } |
| | |
| | | waitPakin.setModiTime(now); |
| | | waitPakin.setOwner(detlDto.getOwner()); |
| | | waitPakin.setUuid(uuid); |
| | | waitPakin.setWeight(param.getCombMats().get(0).getWeight()); |
| | | if (!waitPakinService.insert(waitPakin)) { |
| | | throw new CoolException("保存入库通知档失败"); |
| | | } |
| | |
| | | manLocDetl.setBatch(jsonOrderDetl.getBatch()); |
| | | manLocDetl.setUuid(uuid); |
| | | manLocDetl.setOwner(orderDetl.getOwner()); |
| | | manLocDetl.setWeight(jsonOrderDetl.getWeight()); |
| | | if(!manLocDetlService.insert(manLocDetl)){ |
| | | return R.error("修改平库物料失败!"); |
| | | return R.error("插入平库物料失败!"); |
| | | } |
| | | } else { |
| | | if(manLocDetlService.increase(checkManLocDetl.getAnfme() + jsonOrderDetl.getAnfme(), jsonOrderDetl.getOrderNo(), jsonOrderDetl.getMaktx(), jsonOrderDetl.getBatch())<=0){ |
| | | if (checkManLocDetl.getWeight() == null){ |
| | | checkManLocDetl.setWeight(0.0); |
| | | } |
| | | if(manLocDetlService.increase(checkManLocDetl.getAnfme() + jsonOrderDetl.getAnfme(), |
| | | node.getName(), |
| | | jsonOrderDetl.getMatnr(), |
| | | jsonOrderDetl.getBatch(),checkManLocDetl.getWeight()+jsonOrderDetl.getWeight() |
| | | )<=0 |
| | | ){ |
| | | return R.error("修改平库物料失败!"); |
| | | } |
| | | |
| | | } |
| | | orderDetl.setQty(orderDetl.getQty() + jsonOrderDetl.getAnfme()); |
| | | orderDetl.setWorkQty(orderDetl.getWorkQty() + jsonOrderDetl.getAnfme()); |
| | |
| | | return R.error("出库数量大于可出数量"); |
| | | } |
| | | Double finalQty = checkManLocDetl.getAnfme() - jsonOrderDetl.getAnfme(); |
| | | Double weight = checkManLocDetl.getWeight() - jsonOrderDetl.getWeight(); |
| | | checkManLocDetl.setAnfme(finalQty); |
| | | checkManLocDetl.setWeight(weight); |
| | | if (weight < 0){ |
| | | return R.error("出库重量有误!"); |
| | | } |
| | | if (finalQty < 0){ |
| | | // if(manLocDetlService.deleteDatailed(jsonLocNo, jsonOrderDetl.getMatnr(), jsonOrderDetl.getBatch())<=0) { |
| | | return R.error("数量有误!"); |
| | | // } |
| | | }else { |
| | | if(manLocDetlService.increase(finalQty, jsonLocNo, jsonOrderDetl.getMatnr(), jsonOrderDetl.getBatch())<=0){ |
| | | if(manLocDetlService.increase(finalQty, jsonLocNo, jsonOrderDetl.getMatnr(), jsonOrderDetl.getBatch(),weight)<=0){ |
| | | return R.error("修改平库物料失败!"); |
| | | } |
| | | } |
| | |
| | | and maktx like '%' + #{maktx} + '%'; |
| | | </if> |
| | | </select> |
| | | <select id="queryStock2" resultMap="BaseResultMap"> |
| | | select a.* |
| | | from asr_loc_detl_merge a |
| | | left join asr_loc_detl_F_view b on a.loc_no = b.loc_no |
| | | where 1=1 |
| | | and b.loc_sts = 'F' |
| | | and a.matnr = #{matnr} |
| | | and a.payment = 1 |
| | | <!-- <choose>--> |
| | | <!-- <when test="batch != null and batch != ''">--> |
| | | <!-- and a.batch = #{batch}--> |
| | | <!-- </when>--> |
| | | <!-- <otherwise>--> |
| | | <!-- and (a.batch IS NULL OR a.batch = '')--> |
| | | <!-- </otherwise>--> |
| | | <!-- </choose>--> |
| | | |
| | | <choose> |
| | | <when test="owner != null and owner !=0"> |
| | | and a.owner = #{owner} |
| | | </when> |
| | | <otherwise> |
| | | and 1!=1 |
| | | </otherwise> |
| | | </choose> |
| | | |
| | | order by |
| | | DATEPART(yyyy,a.modi_time),DATEPART(mm,a.modi_time),DATEPART(dd,a.modi_time), a.anfme |
| | | desc, |
| | | NEWID(), |
| | | case |
| | | when (left(a.loc_no, 2) = '01') then 0 |
| | | when (left(a.loc_no, 2) = '02') then 1 |
| | | when (left(a.loc_no, 2) = '03') then 1 |
| | | when (left(a.loc_no, 2) = '04') then 0 |
| | | when (left(a.loc_no, 2) = '05') then 0 |
| | | when (left(a.loc_no, 2) = '06') then 1 |
| | | when (left(a.loc_no, 2) = '07') then 1 |
| | | when (left(a.loc_no, 2) = '08') then 0 |
| | | when (left(a.loc_no, 2) = '09') then 0 |
| | | when (left(a.loc_no, 2) = '10') then 1 |
| | | when (left(a.loc_no, 2) = '11') then 1 |
| | | when (left(a.loc_no, 2) = '12') then 0 |
| | | when (left(a.loc_no, 2) = '13') then 0 |
| | | when (left(a.loc_no, 2) = '14') then 1 |
| | | when (left(a.loc_no, 2) = '15') then 1 |
| | | when (left(a.loc_no, 2) = '16') then 0 |
| | | when (left(a.loc_no, 2) = '17') then 0 |
| | | when (left(a.loc_no, 2) = '18') then 1 |
| | | when (left(a.loc_no, 2) = '19') then 1 |
| | | when (left(a.loc_no, 2) = '20') then 0 |
| | | when (left(a.loc_no, 2) = '21') then 0 |
| | | when (left(a.loc_no, 2) = '22') then 1 |
| | | when (left(a.loc_no, 2) = '23') then 1 |
| | | when (left(a.loc_no, 2) = '24') then 0 |
| | | when (left(a.loc_no, 2) = '25') then 0 |
| | | when (left(a.loc_no, 2) = '26') then 1 |
| | | when (left(a.loc_no, 2) = '27') then 1 |
| | | when (left(a.loc_no, 2) = '28') then 0 |
| | | when (left(a.loc_no, 2) = '29') then 0 |
| | | when (left(a.loc_no, 2) = '30') then 1 |
| | | when (left(a.loc_no, 2) = '31') then 1 |
| | | when (left(a.loc_no, 2) = '32') then 0 |
| | | when (left(a.loc_no, 2) = '33') then 0 |
| | | when (left(a.loc_no, 2) = '34') then 1 |
| | | when (left(a.loc_no, 2) = '35') then 1 |
| | | when (left(a.loc_no, 2) = '36') then 0 |
| | | when (left(a.loc_no, 2) = '37') then 0 |
| | | when (left(a.loc_no, 2) = '38') then 1 |
| | | when (left(a.loc_no, 2) = '39') then 1 |
| | | when (left(a.loc_no, 2) = '40') then 0 |
| | | when (left(a.loc_no, 2) = '41') then 0 |
| | | when (left(a.loc_no, 2) = '42') then 1 |
| | | when (left(a.loc_no, 2) = '43') then 1 |
| | | when (left(a.loc_no, 2) = '44') then 0 |
| | | when (left(a.loc_no, 2) = '45') then 0 |
| | | when (left(a.loc_no, 2) = '46') then 1 |
| | | when (left(a.loc_no, 2) = '47') then 1 |
| | | when (left(a.loc_no, 2) = '48') then 0 |
| | | else 0 |
| | | end |
| | | desc |
| | | </select> |
| | | |
| | | |
| | | </mapper> |
| | |
| | | update man_loc_detl |
| | | set anfme= #{anfme} |
| | | , modi_time = getdate() |
| | | ,weight=#{weight} |
| | | where 1=1 |
| | | and loc_no = #{locNo} |
| | | and matnr = #{matnr} |
| | | <choose> |
| | | <when test="batch != null and batch!='' "> |
| | | and maktx = #{batch} |
| | | </when> |
| | | <otherwise> |
| | | and (batch IS NULL OR batch = '') |
| | | </otherwise> |
| | | </choose> |
| | | <!-- <choose>--> |
| | | <!-- <when test="batch != null and batch!='' ">--> |
| | | <!-- and batch = #{batch}--> |
| | | <!-- </when>--> |
| | | <!-- <otherwise>--> |
| | | <!-- and (batch IS NULL OR batch = '')--> |
| | | <!-- </otherwise>--> |
| | | <!-- </choose>--> |
| | | </update> |
| | | |
| | | </mapper> |
| | |
| | | ,{field: 'maktx', align: 'center',title: '商品名称', sort:true} |
| | | ,{field: 'orderNo', align: 'center',title: '单据编号', hide: true} |
| | | ,{field: 'specs', align: 'center',title: '规格'} |
| | | ,{field: 'weight', align: 'center',title: '单箱净重', hide: false} |
| | | ,{field: 'weight', align: 'center',title: '库位总重量', hide: false} |
| | | |
| | | ,{field: 'batch', align: 'center',title: '批号', width: 300, sort:true, hide: true} |
| | | ,{field: 'anfme', align: 'center',title: '数量'} |
| | |
| | | } |
| | | |
| | | .pointBoxDefault { |
| | | background: #f9f4dc; |
| | | background: #ffffff; |
| | | } |
| | | |
| | | .pointBoxSelected { |
| | |
| | | <p class="text-title" style="text-align: center;">库区 {{areaName}}</p> |
| | | <div class="text-body" style="display: flex;"> |
| | | <div class="floorSelect"> |
| | | <label for="area01">立库</label> |
| | | <label for="area01">A区</label> |
| | | <input id="area01" type="radio" name="r" v-model="area" value="1" checked=""> |
| | | <label for="area03">平库B区</label> |
| | | <label for="area03">B区</label> |
| | | <input id="area03" type="radio" v-model="area" name="r" value="3"> |
| | | <label for="area032">平库B区2层</label> |
| | | <input id="area032" type="radio" v-model="area" name="r" value="32"> |
| | | <label for="area04">平库C区</label> |
| | | <label for="area04">C区</label> |
| | | <input id="area04" type="radio" v-model="area" name="r" value="4"> |
| | | <label for="area042">平库C区2层</label> |
| | | <input id="area042" type="radio" v-model="area" name="r" value="42"> |
| | | <label for="area05">平库D区</label> |
| | | <label for="area05">D区</label> |
| | | <input id="area05" type="radio" v-model="area" name="r" value="5"> |
| | | <label for="area052">平库D区2层</label> |
| | | <input id="area052" type="radio" v-model="area" name="r" value="52"> |
| | | <label for="area06">E区</label> |
| | | <input id="area06" type="radio" v-model="area" name="r" value="6"> |
| | | |
| | | </div> |
| | | </div> |
| | |
| | | deep: true, |
| | | handler(val) { |
| | | if (val == 1){ |
| | | this.areaName = "立库" |
| | | this.areaName = "A区" |
| | | |
| | | }else if (val == 3){ |
| | | this.areaName = "B区" |
| | |
| | | else if (val == 5){ |
| | | this.areaName = "D区" |
| | | } |
| | | else if (val == 32){ |
| | | this.areaName = "B区2层" |
| | | } |
| | | else if (val == 42){ |
| | | this.areaName = "C区2层" |
| | | } |
| | | else if (val == 52){ |
| | | this.areaName = "D区2层" |
| | | else if (val == 6){ |
| | | this.areaName = "E区" |
| | | } |
| | | |
| | | |